2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 14:24 
Помогите пожалуйста решить проблему. Подключил базу данных через C++Bulder
Нужно написать процедуру на добавление данных. БД создана в акцесе.
Не могу понять почему выдает ошибку синтаксиса в инструкции INSERT INTO
привожу свой код

TDateTime Bday;
Bday=StrToDate(Edit4->Text);
ADOQuery1->Active=false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("INSERT INTO Водители,Путевка(фио,маршрут,смена,таб№,дата,врем_нач,врем_кон)");
ADOQuery1->SQL->Add("VALUES('"+Edit1->Text+"','+Edit2->Text+','+Edit3->Text+',DateValue('"+FormatDateTime("dd/mm/yyyy",Bday)+"'),'+Edit5->Text+','+Edit6->Text+','+Edit7->Text+');");
ADOQuery1->ExecSQL();
ADOQuery1->Active=false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT Водители.фио, Путевка.маршрут, Путевка.смена, Путевка.таб№, Путевка.дата, Путевка.врем_нач,Путевка.врем_кон FROM Путевка, Водители");
ADOQuery1->Open();

 
 
 
 Re: Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 14:53 
А зачем Вы разбили команду на две? (VALUES).

 
 
 
 Re: Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 21:03 
Ммм, я могу только сказать, что SQL-команда insert выглядит так:
Код:
insert into TABLE (FIELD1, FIELD2, ..., FIELDn)
values(VALUE1, VALUE2, ..., VALUEn);

Но это я Вам говорю точно.
Если SQL->Add дописывает строку в конец SQL-запроса, то вроде ничего страшного, а если выполняет их по одной - тогда косяк :roll:

 
 
 
 Re: Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 21:09 
Что-то и поля не совпадают. Поле с датой 5-ое или 4-ое?

 
 
 
 Re: Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 21:11 
pisarev1970 в сообщении #419251 писал(а):
ADOQuery1->SQL->Add("INSERT INTO Водители,Путевка(фио,маршрут,смена,таб№,дата,врем_нач,врем_кон)");
ADOQuery1->SQL->Add("VALUES('"+Edit1->Text+"','+Edit2->Text+','+Edit3->Text+',DateValue('"+FormatDateTime("dd/mm/yyyy",Bday)+"'),'+Edit5->Text+','+Edit6->Text+','+Edit7->Text+');");
А разве можно одним оператором в две таблицы (Водители и Путевка) добавлять записи? (Никогда с таким не сталкивался).

Кроме этого, могут быть проблемы с русскими именами полей, да ещё и со спец. символами. Лучше все-таки их в кавычки взять.

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group