![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL & dbExpress
J_S © (2002-12-18 14:36:00)Народ кто-нибудь сталкивался с такой вот вещью:
используя компоненты dbExpress, программно формирую запрос:
ServiceInsert.SQL.Clear;
ServiceInsert.SQL.Add("INSERT INTO ");
ServiceInsert.SQL.Add(TableName);
ServiceInsert.SQL.Add(" (");
ServiceInsert.SQL.Add(field);
ServiceInsert.SQL.Add(") VALUES ("");
ServiceInsert.SQL.Add(DBEdit1.EditText);
ServiceInsert.SQL.Add("")");
(Результат: INSERT INTO TableName (field) VALUES ("value"))
после выполнения запрос значение в указанную таблицу вставляется, но немного не такое как мне нужно - вместо value поле появляется ||value||. Без двойных ковычек запрос естессно не работает:). А параметризированный запрос типа
INSERT INTO: table (:field) VALUES (:value) Дельфи не пропускает. В чем дело?
FreeLancer (2002-12-18 15:46:00) [1]А.... Я понял в чем проблема :-)
> ServiceInsert.SQL.Add(") VALUES ("");
> ServiceInsert.SQL.Add(DBEdit1.EditText);
> ServiceInsert.SQL.Add("")");
Это нужно делать одним методом ADD:
ServiceInsert.SQL.Add(") VALUES (""+DBEdit1.EditText+"")");
Иначе получается, что добавляется #10#13 значение #10#13
Сочетание #10#13 и дает нам ||
J_S (2002-12-18 15:08:00) [2]2 FreeLancer
:)))...
я тоже нашла решение!
k:=ServiceInsert.SQL.Count;
for i:=0 to k-1 do s:=s+ServiceInsert.SQL.Strings[i];
ServiceInsert.SQL.Clear;
ServiceInsert.SQL.Add(s);
что вообщем-то одно и тоже:))
FreeLancer (2002-12-18 14:43:00) [3]Wow, да я же автору сайта ответил!
FreeLancer (2002-12-18 14:41:00) [4]
ServiceInsert.SQL.Clear;
ServiceInsert.SQL.ADD("INSERT INTO " + TableName + " (" + field + ") VALUES (" + #39 + DBEdit1.EditText + #39 + ")";