正在使用 Delphi 7 和 Sql Server express 2008 R2 开发应用程序,使用BDE通过ODBC连接Sql Server,以及 SQL Native Client 用于驾驶员。
在某些特定表单中,表格组件引发EDBEngineError
'记录已被其他用户更改',我只是尝试附加数据,table.cancel
,table.post
时出现同样的问题,table.edit
.....
几天前我将驱动程序从 SQL Server 更改为 Sql Native Client ,因为sql server遇到“连接有另一个hstmt的结果集”的问题,所以我将其更改为SQL Native客户端,从此我遇到了这个'记录已被antoher用户更改'错误。
请任何帮助
答案 0 :(得分:5)
SET NOCOUNT ON
。 除了(2):
“记录已被其他用户更改”的其他经典原因。 WHERE
短语包括字段和相应的参数,它们不精确匹配(例如,精度在客户端丢失),具有不同的格式(例如,不兼容的字符集)等。您必须检查使用SQL事件探查器发送到SQL Server的SQL命令和参数值。
答案 1 :(得分:0)
我的朋友,您应该考虑更新您的开发工具。 对于这个问题,你应该真正使用Delphi的ZEOS组件包。 它可以连接到多种数据库,包括Firebird,MySQL,Access和SQL Server。 您所要做的就是将您正在使用的数据库的dll放在项目目录中,并将delphi的bin目标(如果目标计算机没有数据库管理器)。 然后让数据库服务器处理事务。 如果您需要更多细节,请给我一个信号。