![]() |
|
|
#1
|
|||
|
|||
|
Всем добра! возникла сложность при работе с 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 |