Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.03.2014, 10:50
Kis Kis вне форума
Новичок
 
Регистрация: 02.09.2011
Сообщения: 76
Репутация: 11
По умолчанию работа с 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  
Старый 25.03.2014, 12:02
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Kis
запрос работает, но! он выводит и те данные которые больше dspis и те которые меньше. данные с пустыми полями dspis а только те в которых есть запись. т.е как я понимаю некорректно понимает дату. Кто нибудь может подсказать в чем дело?
А так работает?:
Код:
ADOQuery2.Close;
ADOQuery2.SQL.Text := 'select garn, unpe, dspis from [garn] where dspis >= :date ';
ADOQuery2.Parameters.ParamByName('date').Value := datetimepicker1.Datetime;
ADOQuery2.Open;
Ответить с цитированием
  #3  
Старый 25.03.2014, 14:22
Kis Kis вне форума
Новичок
 
Регистрация: 02.09.2011
Сообщения: 76
Репутация: 11
По умолчанию

тот же Х... только вид сбоку) проблема в том что dspis не датного формата
Ответить с цитированием
  #4  
Старый 25.03.2014, 14:25
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Kis
тот же Х... только вид сбоку) проблема в том что dspis не датного формата
А какого формата?
Ответить с цитированием
  #5  
Старый 25.03.2014, 16:03
Kis Kis вне форума
Новичок
 
Регистрация: 02.09.2011
Сообщения: 76
Репутация: 11
По умолчанию

текстового формата
Ответить с цитированием
  #6  
Старый 26.03.2014, 13:32
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Миллиарды раз обсуждалось.

Серверные настройки (в данном случае настройки MSAcess) скорее всего имеют в себе формат: YYYY-MM-DD а не в традиционном виде.

Либо сравнивать AsString если нужно точное равенство, либо пользоваться встроенными функциями SQL языка конвертации типов хранимых дат.

Вот ссылка от MySQL Date_Format
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter