Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему не работает TADODataSet.Locate по полю типа DateTime? [D6, MSSQL, Access]


Nikolai_S ©   (2002-10-18 14:27:00) 

Точно известно, что в таблице есть записи с какой-то определенной датой, но никогда ничего Locate не находит.


sniknik   (2002-10-18 16:52:00) [1]

и запрос должен работать и локейт если дату правильно прописать, запрос то на совпадение
SELECT * FROM 1saccsel WHERE DATE=#31/03/2000#
DMod.ADOQuery1.Locate("DATE", "31.07.2000", []);
если только дата записана без времени.
а у тебя MyDate скорее всего с с ним. путем двукратного обращения к гадалке расшифровал таки запись MyDate := ...; :о)))


Max Zyuzin   (2002-10-18 15:58:00) [2]

Есть вероятность, что мешают как раз эти хвосты... которые достаются от времени...
Попробуйте обозначить поле MyDate : TDate;
А запрос на выборку работает?
Что то вроде:
select * from mytable
where PARAM_DATE := :PD

AdoQuery.ParamByDate("PD").AsDateTime = MyDate;



Nikolai_S   (2002-10-18 14:56:00) [3]

Привоже пример:

есть таблица TABLE, в ней есть поле PARAM_DATE типа TDateTimeField. В таблице есть много записей со значением в 01 апреля 2002 г. (01.04.2002). Вот код, как я делаю Locate:

var
MyDate: TDateTime;
...

MyDate := ...
AdoQuery.Locate("PARAM_DATE", MyDate, []);

Может там еще какие-нибудь часы,минуты,секунды откуда-нибудь беруться? Хотя вроде только дату (без времени) записываю и в таблицу, и в переменную.


Max Zyuzin   (2002-10-18 14:43:00) [4]

А как Вы ищете... пример можно?


sniknik   (2002-10-18 14:34:00) [5]

Скорее всего дату неправильно пишеш или неполно (без тайма).


Наверх

Титульная страница Поиск, карта сайта Написать письмо