【发布时间】:2012-11-15 16:26:06
【问题描述】:
当我在管理工作室中执行以下 SQL 时,查询返回预期结果:
SELECT MAX(ID) FROM table WHERE field = value;
但是,当我的客户端应用程序 (WinForms) 在事务中间执行此 SQL 时,查询超时而不返回值。我怀疑这是因为事务包含其他 SQL 语句,这些语句正在添加/修改同一个“表”。
我该如何解决这个问题?
【问题讨论】:
-
看起来像死锁了。是否还有与同一张表相关的其他活动?
-
死锁不会超时,但会导致死锁错误。然而,超时可能是由较早的阻塞锁引起的。
-
您是否有权访问服务器/数据库上的活动监视器?您将能够看到您的冲突在哪里。
-
你使用的是什么事务隔离级别?
-
你想做什么?如果这是用于主键用途,它不会像你期望的那样工作......
标签: c# sql winforms transactions