|
#1
|
|||
|
|||
работа с DBF
Всем добра! возникла сложность при работе с dbf.
Код:
procedure Tgarnform.FormCreate(Sender: TObject); begin ADOConnection2.Connected:=False; ADOConnection2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Domen\BASE\gal\import\pto;Extended Properties=dBASE IV;'; ADOConnection2.Connected:=True; ADOQuery2.SQL.Clear; adoquery2.Parameters.ParamByName('date').Value:=datetimepicker1.Datetime; adoquery2.Parameters.ParamByName('date2').Value:=datetimepicker2.Datetime; ADOQuery2.SQL.Add('select garn, unpe, dspis from [garn] where dspis >= :date '); ADOQuery2.Open; end запрос работает, но! он выводит и те данные которые больше dspis и те которые меньше. данные с пустыми полями dspis а только те в которых есть запись. т.е как я понимаю некорректно понимает дату. Кто нибудь может подсказать в чем дело? |
#2
|
||||
|
||||
Цитата:
Код:
ADOQuery2.Close; ADOQuery2.SQL.Text := 'select garn, unpe, dspis from [garn] where dspis >= :date '; ADOQuery2.Parameters.ParamByName('date').Value := datetimepicker1.Datetime; ADOQuery2.Open; |
#3
|
|||
|
|||
тот же Х... только вид сбоку) проблема в том что dspis не датного формата
|
#4
|
||||
|
||||
Цитата:
|
#5
|
|||
|
|||
текстового формата
|
#6
|
||||
|
||||
Миллиарды раз обсуждалось.
Серверные настройки (в данном случае настройки MSAcess) скорее всего имеют в себе формат: YYYY-MM-DD а не в традиционном виде. Либо сравнивать AsString если нужно точное равенство, либо пользоваться встроенными функциями SQL языка конвертации типов хранимых дат. Вот ссылка от MySQL Date_Format |