Вниз
Скачать: CL | DM;

SQL & dbExpress   Найти похожие ветки 

 
J_S ©   (2002-12-18 14:36) [0]

Народ кто-нибудь сталкивался с такой вот вещью:
используя компоненты 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 14:41) [1]


ServiceInsert.SQL.Clear;
ServiceInsert.SQL.ADD("INSERT INTO " + TableName + " (" + field + ") VALUES (" + #39 + DBEdit1.EditText + #39 + ")";


 
FreeLancer ©   (2002-12-18 14:43) [2]

Wow, да я же автору сайта ответил!


 
J_S ©   (2002-12-18 15:08) [3]

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 15:46) [4]

А.... Я понял в чем проблема :-)

> 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 и дает нам ||



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
3-36927
PrettyFly
2002-12-17 15:49
2003.01.13
Работа механизма транзакций в InterBase


3-36980
sanilo
2002-12-17 15:05
2003.01.13
Транзакции


14-37272
Bakch
2002-12-25 08:59
2003.01.13
Crystal Report


8-37230
fr
2002-09-24 07:33
2003.01.13
API для bass.dll


4-37469
Suntechnic
2002-11-27 01:48
2003.01.13
Есть ли в Dephi аналог следующей конструкции из VC++?




   Наверх