![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
INSERT INTO через ADOConnection.Execute
NovaC © (2006-12-22 06:30:00)Доброе время суток !
Помогите пожалуйста разобраться:
temp := 'INSERT INTO Table.DBF (Поле) VALUES (string)';
ADOConnection.Execute(temp);
Все работает но только если string состоит только из цифр
если попадается символ то появляется ошибка если выделяю
символы в ковычки "" тоже ошибка,
а в случае Query всё работает:
temp := 'INSERT INTO Table.DBF (Поле) VALUES ("string")';
Query1.SQL.Add(temp);
Query1.ExecSQL;
Заранее спасибо за ответ . . .
Anatoly Podgoretsky (2006-12-22 12:53:00) [1]> NovaC (22.12.2006 6:30:00) [0]
Используй параметры
NovaC (2006-12-22 08:21:00) [2]Сам додумался ...
но созрел новый вопрос:
когда работу с Ado перенёс в библиотеку Dll
появилась ошибка: Недопустимое значение точности
а в Pas-е всё работало отлично...
В чём ошибка?
ЮЮ (2006-12-22 07:54:00) [3]temp := 'INSERT INTO Table.DBF (Поле) VALUES (''а чем Query не устроило?'')';
там стоят спаренные одинарные кафычки. Именно так одинарная, по сути, кавычки представляются в строковой константе Delphi.
или так, если не только константы, но и переменные поставляют значения:
var
s: string;
...
temp := 'INSERT INTO Table.DBF (Поле) VALUES (' + QuatedStr(s) + ')';
A чем TQuery(TADOCommand) не устроило? Там можно было бы и параметры использовать.
Мне больше не нравится Table.DBF. По-моему, или '.dbf' лишнее, или Table.DBF должно быть в кавычках, причем на этот раз, двойных.