Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 должно быть в кавычках, причем на этот раз, двойных.


Наверх

Титульная страница Поиск, карта сайта Написать письмо