我正在从SQLite获取数据库锁定异常仅用于某些查询.
下面是我的代码:当我执行任何select语句时,它工作正常.
当我在JobsTable 上执行任何写语句时,它也可以正常工作.
这很好用:
ExecuteNonQuery("DELETE FROM Jobs WHERE id=1");
Run Code Online (Sandbox Code Playgroud)
但是,如果我正在执行对Employees表的查询,它会抛出数据库被锁定的异常.
抛出异常:
ExecuteNonQuery("DELETE FROM Employees WHERE id=1");
Run Code Online (Sandbox Code Playgroud)
以下是我的功能:
public bool OpenConnection()
{
if (Con == null)
{
Con = new SQLiteConnection(ConnectionString);
}
if (Con.State == ConnectionState.Closed)
{
Con.Open();
//Cmd = new SQLiteCommand("PRAGMA FOREIGN_KEYS=ON", Con);
//Cmd.ExecuteNonQuery();
//Cmd.Dispose();
//Cmd=null;
return true;
}
if (IsConnectionBusy())
{
Msg.Log(new Exception("Connection busy"));
}
return false;
}
public Boolean CloseConnection()
{
if (Con != null && Con.State …Run Code Online (Sandbox Code Playgroud)