Reputation: 175
Am developing application using Delphi 7 and Sql Server express 2008 R2 , am using BDE to connect Sql Server through ODBC, and SQL Native Client is used for driver.
In some particular forms the table component raise EDBEngineError
'Record has been changed by another user' , am just try to append a data, the same problem occur when table.cancel
, table.post
, table.edit
.....
Few days before i changed driver from SQL Server to Sql Native Client because of sql server has problem with "connection has a result set for another hstmt" , so that i changed it to SQL Native client, form this i met this 'Record has been changed by antoher user' error.
Please any one help
Upvotes: 4
Views: 5574
Reputation: 9094
My friend, you should consider update your developing tools. For this problem you should really work with the ZEOS Component Pack for Delphi. It can connect to many kinds of databases, including Firebird, MySQL, Access and SQL Server. All you have to do is put the dll of the database you are using in your project directory and bin direcoty of delphi (if the target computer does not have the database manager). Then you let the database server to take care of the transactions. If you need more details, just give me a signal.
Upvotes: 0
Reputation: 7750
SET NOCOUNT ON
at top of a trigger.Addition to (2):
Other classical reason for "Record has been changed by another user". The WHERE
phrase includes a field and a corresponding parameter, which do not match by precision (eg, precision is losted at client side), have different formats (eg, incompatible character sets), etc. You have to check the SQL command and parameter values sent to SQL Server using SQL Profiler.
Upvotes: 5