ADO eats milliseconds when assign it to parameters ?!
Hi everybody,
It looks like ADO eats milliseconds when assign it to parameters.
Please, put some light on the issue and how to work around.
var
fDT: TDateTime;
begin
// take date&time from first record from database, which is '2001-02-05
10:41:58.890
ADODataSet1.Close;
ADODataSet1.CommandText := 'select * from warehouses';
ADODataSet1.Open;
Edit1.text := FormatDateTime('yyyy/mm/dd hh:nn:ss.zzz',
ADODataSet1.FieldByName('WarehouseWhen').AsDateTime); // displays time with
proper milliseconds
fDT := ADODataSet1.FieldByName('WarehouseWhen').AsDateTime; // lets store
the time
// try to find a record with this time
ADODataSet1.Close;
ADODataSet1.CommandText := 'select * from warehouses where WarehouseWhen
=:paramDT';
ADODataSet1.Parameters.ParamValues['paramDT'] := fDT; //'2001-02-05
10:41:58.890';
ADODataSet1.Open; // get empty result set !!
// in this place SQL Profiler shows time sent as '20010205 10:41:59:000' -
rounded to seconds !!
end;