=================================================
Product: BDE Version: 5.10
Description: "Record changed by another user"
error with Sybase/MSSQL.
Details:
When the BDE converts a Sybase/MSSQL DATETIME physical
to fldTIMESTAMP (BDE Logical) and back to Sybase/MSSQL
DATETIME type (for binding a parameter) you may loose
3 milliseconds in this round trip.
If a DATETIME is in BDE Physical when it is bound
nothing is lost in the process. This is why delete,
update, etc work on tables and live queries (DATETIME
is in physical format in the record buffer intact).
But when Delphi does parameter binding it works with
data in logical format (which was converted from a
physical format) and when it is converted back you
can loose a maximum of 3 milliseconds in division and
multiplication etc.
This loss is effectively a change, thus the "changed
by another user" error.
Workaround:
Options are to either use the shortdatetime field type
or truncate the last digit in the millisecond
Partager