数据更新出错 Record change by another user? (100分)

  • 主题发起人 主题发起人 dagang
  • 开始时间 开始时间
D

dagang

Unregistered / Unconfirmed
GUEST, unregistred user!
DB : SQL7。0
SEVER : ADOCONNECTION,QUERY,DATASETPROVIDER
CLIENT: CLIENTDATASET SOCKETCONNECTION
通过COMMANDTEXT动态对应不同的表
数据更新APPLYUPDATA(-1),时返回错误(CLIENTDATASET。ONRECONCILEERROR)信息为:
‘Record change by another user’
 
记录被锁了
 
记录被其他人占用了
 
在ms sql server数据库服务中由于它是基于网络的数据库,故而为了保障数据的完整性它和其他网络
数据库一样都有记录锁,在同一个事务服务中不允许两个人同时操作同一条记录。
 
另:
我有两个表
对一表,只有第一个记录出错,其它的记录都可以。COMMANDTEXT 连上另一个表时,所有的数据
都不能APPLYUPDATA。
而且: 当‘可以更新的记录’下到客户端时,‘255CHAR’的字段自动添空格。

CJFANDHF:锁怎样产生的,怎么消除之?
ZENGR: 客户端只有我一人用,DB在NTSQL,SEVER和CLIENT在本机(WIN2000)
 
对不起,我写错了,数据自动加空格与本题无关
 
>>>>锁怎样产生的,怎么消除之?
锁是SERVER自动产生的,消除的话只有用SQL EM.
若在程序中,您在每次提交后查询一下(相当于刷新).
>>>>客户端只有我一人用,DB在NTSQL,SEVER和CLIENT在本机(WIN2000)
这是您自己锁自己.
 
我找到了答案,谢谢大家---刚刚接触三层结构
出错的那个表有一字段默认直为GETDATE(),再加上
程序中使用了一点特须方法,所以。。。
 
请把你的UpdateMode不要用WhereAll,这样别人修改了数据(或程序中其他地方修改)则不会影响
可以使用KeyOnly
 
后退
顶部