Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > ADOQuery INSERT INTO ошибка синтаксиса


Автор: XPyCT 24.12.2008, 14:55
люди взгляните плз!
есть таблица акчес нужно вбить новую записьгде в коде ошибка (надеюсь не в днк  smile )

Код

ADOQuery1->Active = false;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("insert into USER_info 
(ABONAMENT,NUMELE_FIO,ZILILE_DNI,ORA_VREMEA,MESEATS,AVANS,DOLG,OPLATA,DATI1,DATI2,DATI3,DATI4,DATI5,DATI6,DATI7)
 values('"+Edit1->Text+"','"+Edit2->Text+"','"+ComboBox1->Text+"','"+ComboBox2->Text+"','"+ComboBox3->Text+"',
'"+ComboBox4->Text+"','"+ComboBox5->Text+"','"+ComboBox6->Text+"','"+ComboBox7->Text+"','"+ComboBox8->Text+"',
'"+ComboBox9->Text+"','"+ComboBox10->Text+"','"+StrToInt(ComboBox11->Text)+"','"+StrToInt(ComboBox12->Text)+"',
'"+StrToInt(ComboBox13->Text)+"',)");

ADOQuery1->ExecSQL();

Автор: Michrutka 24.12.2008, 15:16
Он точно правильно воспринимает 
 
Код

" ' ,' "


у меян с таким были проблемы - я выходил из положения функцией QuotedStr()

Она возвращает строку с добавленными в конец и в начсало одинарными ковычками, но при этом и все внутренние двойные ковычки меняет на одинарные

Автор: Dmi3ev 24.12.2008, 15:34
XPyCT, если у тебя значение численное в edit или ComboBox  вводится (поле имеет тип данных численный), то ' не надо ставить до и после edit1->text, а если значение буквенное, то надо... попробуй разобраться с этим. у тебя просто поля все имеют текстовый формат (по твоей записи), а ты пиши так, если поле текстовое, то:
Код

"... ' "+Edit1->Text+" ' ..."

если нет, то без одинарных ковыче
"...  "+Edit1->Text+"  ..."
представь себе просто sql без builder, так вот, допустим таблица 
name - текстовое поле
age - числовое
запрос (найти мишу 19 лет)
Код

SELECT Таблица1.Name, Таблица1.Age
FROM Таблица1
WHERE (((Таблица1.Name)="миша") AND ((Таблица1.Age)=19));

миша в кавычках а 19 без кавычек
и не надо
StrToInt(ComboBox11->Text) просто (ComboBox11->Text) (вот в этом неуверен, но по-моему так)

Автор: Dmi3ev 24.12.2008, 15:57
Цитата

у меян с таким были проблемы - я выходил из положения функцией QuotedStr()

не пробовал, но это не есть гуд...

Автор: XPyCT 25.12.2008, 12:30
спс всем проблема была в лишней запятой

'"+StrToInt(ComboBox13->Text)+"',)");

удалил  и все встало на свои места и заработало! просто проглядел

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)