|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проблема с диапазоном дат
Ошибка несоответствия типов данных в выражении условия отбора
В Ассess поле 'RDate' имеет тип дата/время Код:
procedure TForm3.Button2Click(Sender: TObject); var startdate,finishdate:TDateTime; begin startdate:=DateTimePicker1.Date; finishdate:=DateTimePicker2.Date; dm.ADOQuery6.Active:=false; dm.ADOQuery6.SQL.Text:='select * from table1 where rdate between "'+DateToStr(startdate)+'" and "'+DateToStr(finishdate)+'"'; dm.ADOQuery6.ExecSQL; dm.ADOQuery6.Active:=true; end; Выбирал 'краткий формат даты' типа dd.mm.yyyy ....Не помогло Подскажите, в чём проблема? |
#2
|
|||
|
|||
Скорее всего, БД ожидает дату в виде DD-MON-YYYY.
Перепиши запрос на параметризованный формат. тогда от настроек вообще зависетть не будет. |
#3
|
||||
|
||||
Для акцеса я всегда использовал параметры, тебе тож советую.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#4
|
||||
|
||||
используй QuotedStr вместо кавычек
|