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

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

Запрос в ADOQuery [D7, MSSQL]


Explorer ©   (2003-02-05 09:10:00) 

Мастера!
Подскажите, как правильно сформировать запрос за период дат:
Код:

S := DateToStr(DateTimePickerS.DateTime);
Po := DateToStr(DateTimePickerPo.DateTime);

with ADOQueryReg do
begin
Close;
SQL.Clear;
SQL.Add("select * from Registr where DateReg BETWEEN "+S+" and "+Po+"");
Open;
end;

При запуске кода, выдает сообщение EOleException
" Line 1: Incorrect syntax near ".2003".

Когда указываю дату не периодом, тоже самое!


Alex-A   (2003-02-05 14:18:00) [1]

Согласен насчет параметров, но если уж очень хочется динамическим запросом, то

SQL.Add("select * from Registr where DateReg BETWEEN """+S+""" and """+Po+"""");

то есть взять дату в апострофы. И еще в таком случае лучше предстваить дату строкой форматы ГГГГММДД


Delirium^.Tremens   (2003-02-05 09:21:00) [2]

По-моему, так: (может что-то напутал с Params :-))

SQL.Add("select * from Registr where DateReg BETWEEN :S and :Po");
Params.ParamByName("S").AsDateTime := ...;
Params.ParamByName("Po").AsDateTime := ...;
Open;


Наталия   (2003-02-05 09:19:00) [3]

На мой взгляд, правильнее работать, используя параметры.


Наверх

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