community.borland.com

Article #18735: Sybase and "record has been modified by another user" problems when using datetime fields

 Question and Answer Database

FAQ3735B.txt - Sybase and "record has been modified by another user" problems when using datetime fields

Category   :Database (Sybase)
Platform   :Win95/NT
Product    :All32Bit,   

Question:
I have a table in a Sybase database (version 10.x or 11.x) that has a datetime field.  I was able 
to use/edit data in this table until I applied a patch to my Sybase client (versions affected below).
Now after applying the patch, whenever I attempt to update records that were written to the table 
with the unpatched client I get the error "record has been modified by another user".  What is wrong?


Answer:
Obtaining the latest version of SQLSSC32.DLL will resolve this problem. Below is a detailed explanation of
this problem for earlier versions of SQLSSC32.DLL.

As of Open Client Version 11.1.1,   CT-Lib now uses a small datetime as it's default. (A small datetime keeps year, 
month, day, hour & minute).  This means that the 11.1.1 client will not even attempt to send second and millisecond 
data to the server when you post a record.  The problem is that if the data was written with second and millisecond 
precision then we have no way of reselecting it using Open Client 11.11.1. (for example 11:30:23.111 doesn't 
equal 11:30:00.000)  In versions eariler than this (for example 11.1.0) CT-Lib used long datetime as it's default. 
(A long datetime keeps everything a small datetime does plus seconds and milliseconds).  As a result when you upgrade 
your Sybase client you begin to see this problem.

One possible workaround is to change your Update Mode to be WhereKeyOnly or WhereChanged but if the 
datetime field is part of the key or you change the value of the datetime field you will still see this problem. You 
could also use small datetime fields when you are designing your tables and avoid this problem entirely. We are 
aware of this problem and we are looking in to possible solutions.

versions affected:
Open Client 11.5, 11.1.1, 11.1 with ebf7398 applied, 10 with ebf7438.


3/26/99 10:44:29 AM
 

Last Modified: 01-SEP-99