Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.21;
Скачать: CL | DM;

Вниз

Передача переменных на MSSQL7 через ADOQuery   Найти похожие ветки 

 
Andrey V. Zuev   (2002-02-22 14:05) [0]

Имеется компонент TADOquery, который содержит запрос к БД, хранящейся на сервере MSSQL7 (paramcheck:=false):
SQL.Clear;
SQL.Add("select count(*) from ship where (ship_num = : snum)");
Prepared:=false;
Parameters.Clear;
Parameters.CreateParameter("snum", ftString, pdInput, 6, Ship_Num);
Prepared:=true;
Open;

В DesignTime все работает на ура в любом виде, но в RunTime вот
при попытке активации запроса возникает ошибка: "INCORRECT SYNTAX NEAR ":"".
Без скобок и пробелов (перед и после ":") тоже не работает. =(
Параметр криэйтится вроде правильно...
Где грабли? При работе с БДЕ таких проблем не возникало...


 
McSimm ©   (2002-02-22 15:32) [1]

Приведенный вами пример выдает ошибку, после того как я убрал пробел после двоеточия, - все заработало


 
Andrey V. Zuev   (2002-02-22 16:55) [2]

В моем случае (как это ни странно) это не помогает и я об этом написал ( "... Без скобок и пробелов (перед и после ":") тоже не работает....").
Проблему решил таким тривиальным способом (поскольку динамические запросы с параметрами не работают - надо сделать их статическими =)):

SQL.Clear;
SQLString:="select count(*) from ship where ship_num = ""%s""";
SQL.Add(Format(SQLString, [Ship_Num]));
Open;

Вот и всё. =)
Причем таким способом можно динамически менять не только значения параметров, но и столбцы, названия таблиц и т.д.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
14-67001
Фэ
2002-02-07 23:00
2002.03.21
Вспомним первого учителя


1-66916
Random
2002-03-06 16:14
2002.03.21
Как создать панель инструментов


1-66833
Baz
2002-03-04 05:12
2002.03.21
Странное поведение при пошаговом прогоне


14-66996
Yuri Btr
2002-02-08 11:04
2002.03.21
Подкиньте идею


1-66882
DeNNiss
2002-03-05 14:44
2002.03.21
Вопрос