gpt4 book ai didi

c# - 使用 SET LOCK_TIMEOUT 0 检查 sql server 中的表是否被锁定

转载 作者:行者123 更新时间:2023-11-30 21:08:31 28 4
gpt4 key购买 nike

基本上我需要检查我的代码是否锁定了一个表。

我知道我是否直接在数据库上运行它;

SELECT * FROM 'tablename' SET LOCK_TIMEOUT 0

如果表被锁定,我会立即收到错误消息,如果没有,我会立即收到错误消息。但是,当我从我的代码中调用此语句时,它似乎仍然需要等待一段时间才能释放锁,然后再返回。我用来调用此查询的代码是;

SqlConnection conn = new SqlConnection(@"ConnectionString");
using(conn)
{
conn.Open();
var query = new SqlCommand("SELECT * FROM tablename SET LOCK_TIMEOUT 0", conn);

try
{
SqlDataReader reader = query.ExecuteReader();
// No lock
}catch (Exception)
{
// Deal with lock exception
}
}

我想马上知道。有什么建议么?或者有更好的方法吗?

最佳答案

不清楚您要达到什么目标以及出于什么目的,但是您在 SELECT 之后 设置锁定超时,而您需要在 之前 设置它>.

关于c# - 使用 SET LOCK_TIMEOUT 0 检查 sql server 中的表是否被锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com