Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.05.2010, 13:56
lohmatiy lohmatiy вне форума
Прохожий
 
Регистрация: 24.02.2010
Сообщения: 15
Репутация: 10
Печаль Ошибка INSERT INTO

пишу на делфе вот такой запрос для ADO Access
Код:
ADOQuery3.SQL.Clear();
ADOQuery3.SQL.Add('insert into Обечайки ');
ADOQuery3.SQL.Add('(Тип обечайки,Диаметр,Расчетное давление,Температура,Толщина,ID стали)');
ADOQuery3.SQL.Add(' values ('+ Combobox4.Text+',25, 150, 300, 100,45)');
ADOQuery3.Active:=true;

или вот так

Код:
str2:='insert into Обечайки (Тип обечайки,Диаметр,Расчетное давление,Температура,Толщина,ID стали) values ('+Form1.Edit8.Text+',25, 150, 300, 100,45)';
ADOQuery3.SQL.Clear();
ADOQuery3.SQL.Add(str2);
ADOQuery3.Active:=true;

при выполнении пишет "Ошибка синтаксиса в инструкции INSERT INTO"
В самой таблице в БД первый столбец primary, он автоинкрементом прибавляется, потому тут не укащываю. В чем может быть проблема?
Ответить с цитированием
  #2  
Старый 08.05.2010, 14:05
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

У вас исполняемый запрос. Его необходимо запускать другой коммандой ExecSQL;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 08.05.2010, 14:14
lohmatiy lohmatiy вне форума
Прохожий
 
Регистрация: 24.02.2010
Сообщения: 15
Репутация: 10
По умолчанию

то есть так?
Код:
ADOQuery3.SQL.Add(str2);
ADOQuery3.ExecSQL;

ничего не поменялось
Ответить с цитированием
  #4  
Старый 08.05.2010, 14:28
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Возьмите поля Тип обечайки, Расчетное давление,ID стали в квадратные скобки [Тип обечайки], [Расчетное давление],[ID стали]
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 08.05.2010, 14:39
lohmatiy lohmatiy вне форума
Прохожий
 
Регистрация: 24.02.2010
Сообщения: 15
Репутация: 10
По умолчанию

все, сам нашел решение
Код:
ADOQuery2.SQL.Clear();
ADOQuery2.SQL.Text:='INSERT INTO Обечайки ([Тип обечайки],[Диаметр],[Расчетное давление],[Температура],[Толщина],[ID стали]) VALUES (:Param1,:Param2,:Param3,:Param4,:Param5,:Param6)';
ADOQuery2.Parameters.ParamByName('Param1').Value:='однослойная';
ADOQuery2.Parameters.ParamByName('Param2').Value:=100;
ADOQuery2.Parameters.ParamByName('Param3').Value:=200;
ADOQuery2.Parameters.ParamByName('Param4').Value:=300;
ADOQuery2.Parameters.ParamByName('Param5').Value:=400;
ADOQuery2.Parameters.ParamByName('Param6').Value:=0;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter