![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу понять в чем проблема [D2005, XP]
Jacksotnik © (2010-09-28 10:02:00)Есть вот такой запрос:
myquery1.SQL.Add('INSERT INTO clients(id,fio,tel,adr,birthday,allsum,skidka,tip)'); myquery1.SQL.Add('VALUES('''+card_id+''''+','''+new_kli_fio.Text+''''+','''+new_kli_tel.Text+''''+','''+new_kli_adr.Text+''''+','''+dat+''''+','+new_kli_summ.Text+','+','+inttostr(skidka1)+','+'''fix'')');
непойму почему при выполнении вываливает ошибку:
#42000 you have an error in you SQL syntax. To use near '0,'fix')'
ненравится ему чтото в последних двух передаваемых параметрах.
Тип последних двух параметров int и char соответственно
Jacksotnik (2010-09-28 10:21:00) [1]Только у меня немного по другому
myquery1.ParamByName('p1').AsString:=card_id;
myquery1.ParamByName('p2').AsString:=new_kli_fio.Text;
myquery1.ParamByName('p3').AsString:=new_kli_tel.Text;
Jacksotnik (2010-09-28 10:20:00) [2]Спс. Помогло)))
12 (2010-09-28 10:13:00) [3]т.е.
myquery1.parameters.parambyname('id').value := card_id;
или
myquery1.parameters.parambyname('id').asinteger := card_id;
сори, прямо тут пишу
12 (2010-09-28 10:11:00) [4]да
myquery1.SQL.text := 'INSERT INTO clients(id,fio,tel,adr,birthday,allsum,skidka,tip)' +
' VALUES(:id,:fio,:tel,:adr,:birthday,:allsum,:skidka,:tip)';
myquery1.parameters.parambyname('id') := card_id;
myquery1.parameters.parambyname('fio') := new_kli_fio.Text;
...
Jacksotnik (2010-09-28 10:09:00) [5]Имеешь ввиду что лучше передавать через параметры?
12 (2010-09-28 10:07:00) [6]parameter