Форум: "Базы";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c