|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ошибка 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
|
||||
|
||||
У вас исполняемый запрос. Его необходимо запускать другой коммандой 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; |