![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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));
не поможет явно попробуй тип задать. и это не поможет значит не угадал.