Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > проблама с BETWEEN из DataTimePicker


Автор: GetLi 20.2.2010, 16:30
Уважаемые специалисты, подскажите что я делаю не так.
База на MSSQL, поле типа DateTime. Пишу запрос такого вида:
sq:='SELECT * FROM DocT WHERE ' 
sq1:='DateD between '+datetostr(DTPick1.Date)+' and '+datetostr(DTPick2.Date)+' '

Q1.Active:=false;
Q1.SQL.Clear;
Q1.SQL.Add(sq);
Q1.SQL.Add(sq1);

в MEMO, в котором я проверяю текст запроса выводится следующее: SELECT * FROM DocT WHERE DateD between 17.01.2010 and 18.01.2010

Но на Q1.Active:=true; 
выдает ошибку 
Line 2: Incorrect syntax near '.2010''

заранее спасибо

Автор: Rodman 20.2.2010, 20:21
Ну тип у тебя дата+время, а ты тока дату передаешь
Код

DateTimeToSQLTimeStamp(StrToDateTime("20.02.2010 19:20:15"));

попробуй это поюзать...


но преобразовывать все равно надо будет...

Автор: GetLi 20.2.2010, 20:34
но в самой таблице именно значения даты отображены, без времени 
И если преобразовывать, то каким образом?


проблема решилась перенастройкой параметров сервера и указания ему формата даты

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)