|Subject||Re: Firebird 2.0 & Delphi 7|
>There is one small caveat here. The combination of Midas/Datasnap
> IBX still works (pretty much from what I can tell) with Firebird 2.
with IBX no longer works correctly. The problem starts with Datasnap
including all fields in its 'where' clause for update statements. If
one of those fields happens to be a timestamp then you could be in
trouble. The problem is that Current_timestamp now returns
milliseconds. IBX does not read or write milliseconds so timestamps
used in the where clause will not match.
There are a few workarounds for this.
1.) Use Current_Timestamp(0) to avoid putting milliseconds into records.
2.) Change the TDataSetProvider component to only include the primary
key in the where clause.
3.) Tell the clientdataset to not include the datetime fields in any
4.) Update the IBX source to include the milliseconds in TDateTime values
5.) Change to another library.
1,2,3 and 5 can be a real headache for large projects. I opted to
change the IBX source code to deal with milliseconds. Now all is well
again. I also changed the source to find and load the FBClient.dll
from the defaultinstance in the registry.