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

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

Проблемма с TADOQuery [D7]


Alexander1966 ©   (2004-08-04 11:34:00) 

Следующая строка дает ошибку "Несответствие типов данных...":
драйвер ODBC Paradox.

ADOQuery1.SQL.Add('Select * FROM log WHERE ');
ADOQuery1.SQL.Add('SessionStart>''01.01.2004 08:00:00''');
ADOQuery1.Open;

Если сделать так:
ADOQuery1.SQL.Add('Select * FROM log WHERE ');
ADOQuery1.SQL.Add('SessionStart>:Par1);
ADOQuery1.Parameters.ParamByName('Par1').Value:=d1;
ADOQuery1.Open;
работает, но: через тогда в запросе не учитываются минуты,
так, как будто я передал: 01.01.2004 00:00:00,
хотя при прогоне Value показівает так как надо.


sniknik   (2004-08-04 12:51:00) [1]

ADOQuery1.SQL.Add('SessionStart>#01/01/2004 08:00:00#');


сергей1   (2004-08-04 12:34:00) [2]

а вот в MSSQL и вообще так просто даты не сравнишь, приходится пользоваться функцией datediff(), если она возвращает отрицательное значение, значит первая дата более раньяя, чем вторая, может и в Paradox лучше пользоваться чем-то подобным ?


Alexander1966   (2004-08-04 11:54:00) [3]

d1: TdateTime;

d1:=StrToDateTime('01.01.2004 08:00:00');


stone   (2004-08-04 11:52:00) [4]

Тут не видно что ты присваеваешь d1 и какой у него тип данных


Наверх

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