2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 14:24 


03/03/11
1
Помогите пожалуйста решить проблему. Подключил базу данных через 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 
Заслуженный участник


04/05/09
4587
А зачем Вы разбили команду на две? (VALUES).

 Профиль  
                  
 
 Re: Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 21:03 
Заслуженный участник


08/04/08
8562
Ммм, я могу только сказать, что SQL-команда insert выглядит так:
Код:
insert into TABLE (FIELD1, FIELD2, ..., FIELDn)
values(VALUE1, VALUE2, ..., VALUEn);

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

 Профиль  
                  
 
 Re: Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 21:09 
Заслуженный участник


04/05/09
4587
Что-то и поля не совпадают. Поле с датой 5-ое или 4-ое?

 Профиль  
                  
 
 Re: Ошибка синтаксиса INSERT INTO
Сообщение03.03.2011, 21:11 
Заслуженный участник


09/08/09
3438
С.Петербург
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 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group