![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
пишу на делфе вот такой запрос для 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
|
||||
|
||||
|
У вас исполняемый запрос. Его необходимо запускать другой коммандой ExecSQL;
|
|
#3
|
|||
|
|||
|
то есть так?
Код:
ADOQuery3.SQL.Add(str2); ADOQuery3.ExecSQL; ничего не поменялось ![]() |
|
#4
|
||||
|
||||
|
Возьмите поля Тип обечайки, Расчетное давление,ID стали в квадратные скобки [Тип обечайки], [Расчетное давление],[ID стали]
|
|
#5
|
|||
|
|||
|
все, сам нашел решение
Код:
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; |