74偶了,关于SQL的问题,救命!!!!

seekmydoom 2004-09-16 04:01:02
最近发现一个这样的问题:1、先用一个事务对一个表进行改动并增加一条数据(过程操作正确,用的方法是在Delphi里面直接写Edit;Post);2、然后再另外一个窗体对该表数据进行修改(用存储过程),没有用事务---〉问题就出现了,出现了死锁,不能进行修改,为什么啊!!
可以肯定的是事务绝对成双的,单独操作1或者2都是正确的,帮忙啊!!!!!!!
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qizhanfeng 2004-09-16
  • 打赏
  • 举报
回复
"对一个表进行改动"
不需要加事务
对多表操作的时候才需要加
不纺把“先用一个事务对一个表进行改动并增加一条数据“和“然后再另外一个窗体对该表数据进行修改(用存储过程)“放到一个事物里
adoconnection1.begintrans
adoconnection1.committrans

seekmydoom 2004-09-16
  • 打赏
  • 举报
回复
跟踪到了啊!就是死锁了,但不知道是怎么回事,如果两个过程(1、2)都加上事务就没有问题了,郁闷
Forllx 2004-09-16
  • 打赏
  • 举报
回复
跟踪一下就知道事锁还事死循环了
fhuibo 2004-09-16
  • 打赏
  • 举报
回复
楼主还用锁了?我看是死循环了吧 SQL很成功的避免了锁的出现
Forllx 2004-09-16
  • 打赏
  • 举报
回复
如果用ADO控件,把他的LockType属性设为ltOptimistic,应该就不会锁了,其实,像xhh_88说的那样也行啊,没操作完就关掉连接.
xhh_88 2004-09-16
  • 打赏
  • 举报
回复
每步结束都要将连接的active:=false;

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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