| 
| 
 | Вопрос # 5 959/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Может ли кто нибудь подсказать как быть. У меня база MS SQL Server 2000 и Windows XP. В программе для работу с базой данных использую ADO компоненты. Подключаюсь к базе через ODBC
 Написал запрос
 SELECT TOP 1
 *
 FROM Exchange
 WHERE
 EXCH_PROG_TIK_TAK < :prDataNow
 Параметр prDataNow это TDateTime. Как только подхожку к выполнению запроса
 ADOQuery1.Parameters.ParamByName('prDataNow').Value := Now;
 ADOQuery1.Open;
 сразу выскакивает сообщение "Дополнительная возможность не реализована"
 Если напишу к примеру так:
 EXCH_PROG_TIK_TAK < '10.10.10'
 , то всё впорядке. Подскажите, что мне нужно сделать что бы программа работала правильно.
 Алексей.
 
|  |   Вопрос задал: Хорт А.М. (статус: Посетитель)Вопрос отправлен: 23 февраля 2012, 10:18
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Мережников Андрей Здравствуйте, Хорт А.М.!Можно сделать без использования параметров. Сначала формировать текст запроса в строковую переменную, например, s:
 s:='select ... where exch_prog_tik_tak<'+QuoteStr(DateToStr(Now));
 adoquery1.close;
 adoquery1.sql.clear;
 adoquery1.sql.add(s);
 adoquery1.open;
 
|  | Ответ отправил: Мережников Андрей (статус: Абитуриент)Время отправки: 23 февраля 2012, 20:48
 Оценка за ответ: 4
 Комментарий к оценке: Понятно, ну а если всё таки нужно использовать параметры? |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 27 февраля 2012, 17:40; участников в обсуждении: 1. 
|   | Мережников Андрей (статус: Абитуриент), 27 февраля 2012, 17:40 [#1]:для того, чтобы использовать параметры, необходимо, чтобы были сделаны одинаковые настройки по формату даты в SQL Server и в Delphi (Windows на локальной машине), что не всегда можно обеспечить |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |