gpt4 book ai didi

c# - "Database is locked"SQLite 和 C#

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:23 25 4
gpt4 key购买 nike

我的代码有问题。我想删除 SQLite 数据库中的一些行,但出现“数据库已锁定”异常。我读了几篇关于这方面的文章,比如 this post , 但我的问题仍然存在。

这是我的代码:

using (var c = new SQLiteConnection(_connectionSQLite))
{
c.Open();

if (c.State == ConnectionState.Open)
{
var reqExist = string.Concat("SELECT id FROM ... ");
using (var cmdExist = new SQLiteCommand(reqExist, c))
{
var reqUpdate = string.Concat("UPDATE ... WHERE id = ", cmdExist.ExecuteScalar());

using (var cmdUpdate = new SQLiteCommand(reqUpdate, c))
{
cmdUpdate.ExecuteNonQuery();
}
}
}

c.Close();
}

我在 cmdUpdate.ExecuteNonQuery(); 行收到“数据库已锁定”异常。我尝试用 DELETE FROM 替换,结果相同,但用 SELECT 时,它起作用了,我真的不明白我的代码有什么问题。

感谢您的帮助。

最佳答案

好的,谢谢大家的帮助。我只需要在插入/更新之前在另一个函数中 .dispose() 两个读者,它就可以工作!

关于c# - "Database is locked"SQLite 和 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38210854/

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