Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2014, 05:59   #1
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию Ошибка синтаксиса INSERT INTO

Ошибка синтаксиса в инструкции INSERT INTO
Код:
procedure TForm16.Button1Click(Sender: TObject);
var s:String;
begin
begin
s:='INSERT INTO Заказы ([Наименование], [Цена на 1 ед], [Вес/Объем], [Количество],[Итого цена],[Официант] [Номер столика],[Статус]) VALUES ('
+QuotedStr(dbLookUpComboBox1.Text)+', '+(DBEdit1.Text)+', '+(DBEdit2.Text)+','+(DBEdit3.Text)
+','+(DBEdit4.Text)+','+( DBEdit6.Text)+','+QuotedStr(DBComboBox2.Text)+')';
DataModuleMenu.ADOQuery1.Close;
DataModuleMenu.ADOQuery1.SQL.Clear;
DataModuleMenu.ADOQuery1.SQL.Add(s);
try
begin
DataModuleMenu.ADOQuery1.ExecSQL;
ShowMessage('Запись успешно сохранена!');
end
except
ShowMessage('Ошибка записи!');
end;
DataModuleMenu.ADOTableZakazy.Active:=false;
DataModuleMenu.ADOTableZakazy.Active:=true;
form16.hide;
end
end;
From Stilet: Это мое последнее предупреждение.

Последний раз редактировалось Stilet; 23.05.2014 в 07:53.
курбанниязов вне форума Ответить с цитированием
Старый 23.05.2014, 07:31   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Сделайте Showmessage(s); сразу после её создания и увидите где нарушили синтаксис SQL - в частности, я у вас увидел косяки со скобками, запятыми, кавычками. Форум - это не валидатор вашего кода.
Синтаксис должен быть такой

Код:
INSERT INTO [MyTableName] ([поля], [через], [запятую]) 
VALUES ( значения, через, запятую)
При этом значения типа строки, даты и некоторых других должны обрамляться кавычками.
Проверяйте.

Также есть более грамотный подход - называется "параметры SQL запроса", с использованием метода ADOQuery.Parameters.ParamByName. Поищите по форуму данную информацию для примеров.

И пора бы уже научиться за время вашего пребывания на форуме нажимать кнопочку # для оформления кода.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка синтаксиса в инструкции INSERT INTO Crystal2002 C/C++ Базы данных 5 27.04.2012 21:49
Ошибка синтаксиса Соффи JavaScript, Ajax 18 29.03.2012 12:56
ошибка синтаксиса MetR Общие вопросы Delphi 11 13.01.2012 12:40
Ошибка синтаксиса в инструкции insert into sectorb БД в Delphi 5 24.11.2011 09:23
Ошибка синтаксиса Santosh Microsoft Office Access 2 18.08.2010 00:15