Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: 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 вся ветка

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-37192
ed30
2002-12-30 18:41
2003.01.13
Потоки


14-37343
Васёк
2002-12-24 10:19
2003.01.13
Цивилизованный рынок ПО с советским лицом : (


8-37219
AM
2002-09-26 13:50
2003.01.13
Как увеличить скорость???


3-36949
tomat
2002-12-18 12:07
2003.01.13
Триггер ограничивающий удаление строк.


1-37009
Step[B.M.]
2003-01-01 14:25
2003.01.13
Как посимвольно читая char отреагировать на 0 символ