Вниз
Скачать: CL | DM;

Запрос в ADOQuery   Найти похожие ветки 

← →
Explorer ©   (2003-02-05 09:10) [0]

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

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".

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


← →
Наталия ©   (2003-02-05 09:19) [1]

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


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

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

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


← →
Alex-A   (2003-02-05 14:18) [3]

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

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

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



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
4-76239
Rookie
2003-01-10 11:40
2003.02.24
???Real Process ID???


14-76160
asafr
2003-02-06 12:52
2003.02.24
Прошу маленькую подсказку по VBA.


14-76114
Nickola2
2003-02-06 16:18
2003.02.24
Тихо шифером шурша, крыша едет неспеша


6-76053
Serbor
2003-01-04 23:18
2003.02.24
Почта


14-76091
cdadmitriy
2003-02-09 17:05
2003.02.24
Virtual COM port




   Наверх