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

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

ODBC и Jet 4.0 [D6, Access]


Litr ©   (2004-07-08 08:18:00) 

Привет всем ! При переходе от ODBC к Jet 4.0 перестал выполнятся запрос, кричит что то про несоотвествие типов данных. В чем дело ? Заранее спасибо.

 SQL.Text:='Select  distinct MDateTime, NTank, (VolumeBytape/1000) as Tape, (VolumeBySensor/1000)as Sensor, RTSstr  from TankDataDistl  WHERE (MDateTime Between :Dt1 And :Dt2) AND  NTank=:N order by MDateTime ';
        ADOQuery3.Parameters.ParamByName('N').Value := DBComboBox1.text;
        ADOQuery3.Parameters.ParamByName('Dt1').Value :=Trunc(DateTimePicker7.Date) + DateTimePicker5.Time - Trunc(DateTimePicker5.Time);
        ADOQuery3.Parameters.ParamByName('Dt2').Value :=Trunc(DateTimePicker8.Date) + DateTimePicker6.Time - Trunc(DateTimePicker6.Time);
        Open;

Пикеры 5 и 7 это соответственно время и дата начала диапазона, а 6 и 8 конца.


Litr   (2004-07-08 10:03:00) [1]

попарился и решил сделать так:

        DateTimePicker7.Time:=DateTimePicker5.Time;
        DateTimePicker8.Time:=DateTimePicker6.Time;
        D1:=DateTimePicker7.DateTime;
        D2:=DateTimePicker8.DateTime;

SQL.Text:='Select  distinct MDateTime, NTank, (VolumeByTape/1000) as Tape, (VolumeBySensor/1000)as Sensor, RTSstr  from TankDataDistl  WHERE ' +
        ' (MDateTime Between '+FloatToStr(D1)+' And '+FloatToStr(D2)+') AND  NTank=:N order by MDateTime ';
запрос выполняется и драйвер больше не ругается


sniknik   (2004-07-08 08:36:00) [2]

что он там кричит желательно поточнее (в 90% случаев это явное указание на ошибку в остальных направление к ней)

проверь так с датами
ADOQuery3.Parameters.ParamByName('Dt1').Value:= TDateTime(Trunc(DateTimePicker7.Date) + DateTimePicker5.Time - Trunc(DateTimePicker5.Time));
не поможет явно попробуй тип задать. и это не поможет значит не угадал.


Наверх

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