H hawkview Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-12 #1 我将用delphi4.0+sql server6.5完成一系统,可能有用户同时对 某记录进行操作我在程序中不处理,是否会冲突?系统有无自己的 措施?若要在程序中加锁,如何处理请多指教!!!
小 小天 Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-12 #2 我知道我知道,这个问题我以前就碰到过,可能是BUG吧。 当搜索大于约150条记录时,就会出现死锁的状况。 我用的是最傻的办法,就是大量搜索后让DELPHI再OPEN一个空表(TABLE),死锁自然解除
A adminis Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-13 #3 当有多个请求对同一记录进行更新或者写操作,会引起冲突。 系统解决冲突的办法是等待。如果超时则会有冲突的一方更新失败, 返回错误信息。解决死锁的方法有很多,有一整套设计和解决方案, 各数据库系统是有差别的。找一些比较深的数据库方面的书会讲到这个问题。
当有多个请求对同一记录进行更新或者写操作,会引起冲突。 系统解决冲突的办法是等待。如果超时则会有冲突的一方更新失败, 返回错误信息。解决死锁的方法有很多,有一整套设计和解决方案, 各数据库系统是有差别的。找一些比较深的数据库方面的书会讲到这个问题。
D delphi Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-13 #4 如果第一人在第二人修改期间提交了修改记录,第二人是否能够成功修改 取决于修改的方式:1.所有字段全相等, 2.只比较关键字段. 当然,用sqlserver绝对不能使用ttable.
G g622 Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-13 #6 1)复杂修改最好是用存储过程 2)用query 3)用事务 4)搜索前面的问题
L LeeChange Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-13 #7 如果数据在读出之后被更改,提交时会出错,最简单的方法是取消本次提交,再刷新
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-11 #10 ADO锁定属性用悲观锁,cursor类别用server的就可以让sql server锁定记录。 这样比较适合操作人员的习惯。