高分求救,一个从未遇到过的问题。。。(在线等待)

yueyingcs 2003-11-13 10:55:49
小弟做一个小项目,在局域网里运行时出现如下情况:
当程序在两台或多台电脑同时操作一个数据表时,程序锁死。程序只充许一台机器同时操作同一个表。
请各位大哥指教,谢谢!~~!·~·#
...全文
74 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
CQP 2003-11-14
  • 打赏
  • 举报
回复
同意: ropriest(馆主) 的说法:
作为数据库本身的管理机制,有行锁和表锁
对数据库的记录进行insert、update、delete时,会自动锁住修改行或者整个表,所以如果你的操作没有及时commit或rollback的话,别的操作无法进行,就会容易导致死锁。
mittee 2003-11-14
  • 打赏
  • 举报
回复
出现表死锁,检查代码,什么地方对表更新了,没有commit的,
祝你好运!
BenyMo 2003-11-14
  • 打赏
  • 举报
回复
任何 insert delete update都要
commit;
insert2003 2003-11-14
  • 打赏
  • 举报
回复
这两句是必要的:
rollback;
commit;

lmby 2003-11-14
  • 打赏
  • 举报
回复
4d, commit or rollback after updating
bigtailwolf163 2003-11-14
  • 打赏
  • 举报
回复
及时commit,rollback就能避免
qqjj7758 2003-11-14
  • 打赏
  • 举报
回复
还有 数据库服务器是正版还是d版,d版可能会 出现这个问题
TGWall 2003-11-14
  • 打赏
  • 举报
回复
除了SQL语句之后加Commit或rollback外,在数据窗口的update()事件之后也要加Commit或rollback,如:
if dw_1.update()=1 then
commit;
else
rollback;
end if
workhand 2003-11-14
  • 打赏
  • 举报
回复
在每句sql语句后面都要跟着判断sqlcode的语句:

IF sqlca.sqlcode <> 0 Then
rollback;
messagebox('','cuowu')
Else
commit;
End iF
就会及时放开对表的占有
ropriest 2003-11-13
  • 打赏
  • 举报
回复
作为数据库本身的管理机制,有行锁和表锁
对数据库的记录进行insert、update、delete时,会自动锁住修改行或者整个表,所以如果你的操作没有及时commit或rollback的话,别的操作无法进行,就会容易导致死锁。
yueyingcs 2003-11-13
  • 打赏
  • 举报
回复
还有其它可能吗,因为很急,所以必须一次性解决,明天就要交货,箭在弦上,不得不发,谢谢各位了!
xiezhsh3 2003-11-13
  • 打赏
  • 举报
回复
更新数据记得提交或回滚,即commit/rollback
yueyingcs 2003-11-13
  • 打赏
  • 举报
回复
楼上这位哥请说清楚好不好? 我菜得很哈。。。。
佣工7001 2003-11-13
  • 打赏
  • 举报
回复
又用update,insert,delete之类的sql语句一定要马上提交!
yueyingcs 2003-11-13
  • 打赏
  • 举报
回复
有人吗?
yueyingcs 2003-11-13
  • 打赏
  • 举报
回复
先UP一下。。。

1,093

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧