急!数据库死锁问题(100分)

  • 主题发起人 主题发起人 whdzy
  • 开始时间 开始时间
W

whdzy

Unregistered / Unconfirmed
GUEST, unregistred user!
本人作了一套房管软件,delphi5+sql7,问题是:房屋在交易时,用update更换房屋状态,
同时用append追加一条新记录,单用户使用没问题,多用户更新时半天保存不进去,其他用户退出
就可以。控件使用edit输入,dbgrig显示表数据.
承蒙各位大虾赐教,不胜感激!急急急!!!
 
sql server的死锁问题我们一直都没有解决,我们的方法是绕过去.
查询时不用TABLE并且尽可能用条件查询(不用SELECT *).
update,append,不用TABLE,用SQL语句写.
这样基本上不会死锁,但不是肯定的.
若有人真能把死锁问题解决,我也出100分.
 
你在程序里没有COMMIT吧?
 
只能说尽量避免。
 
按照事务处理原则,不应在事务中与用户交互。
所以不能用 [开始事务--->编辑---->提交]的方式。
也就是说应在编辑后提交时才开始事务。
 
在sql server 7.0的客户端配置没有设置多管道,所以就会出现死锁。
 
你在程序里没有COMMIT吧?
没用commit.全是delphi语句。
 
急呀,即使用了commit还是不行,老是连接超时。是不是代码太长了?由于条件比较复杂,代码写了大约6、7
篇,再加100分,请高手指点。
 
你给我打电话吧.我教你.打字太累
0427-7650513
我在外地出差。这个是外地单位的电话
 
又碰到一位喜欢用 DBGrid 同服务器“直通”方式做 C/S 程序的朋友。
难道不能改变一下做法吗?这样的确会引起共享冲突。
 
我作的程序的录入
从来不用DATAAWARE的空间
 
恕我直言:
DBGRID本身并不会引起死锁。包括其他的DBWARE。
只有处于EDIT状态的DBWARE才会加锁。但不是“死锁”,
只是“行锁”,如果是支持“行锁”的话。
SELECT语句会加锁,但是执行结束后,锁也就释放了。
和在DBGRID有没显示出来没关系! 至少我是这么理解的。
 
你的表是行级锁还是页级锁?
缺省情况下应该是页级锁。
如果冲突严重,建议改成行级锁。
 
多人接受答案了。
 
后退
顶部