SQLite Database Locked исключение

я получаюБаза данных заблокирована исключение изSQLite только для некоторых запросов.

Ниже приведен мой код: когда я выполняю любой оператор выбора, он работает нормально.

Когда я выполняю любое заявление о записиJobs Таблица это тоже отлично работает.

Это прекрасно работает:

ExecuteNonQuery("DELETE FROM Jobs WHERE id=1");

Но так же, если я выполняю запросы дляEmployees таблица это исключение, котороеБаза данных заблокирована.

Это создает исключение:

ExecuteNonQuery("DELETE FROM Employees WHERE id=1");

Ниже приведены мои функции:

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 == ConnectionState.Open)
    {
        if (Cmd != null) Cmd.Dispose();
        Cmd = null;
        Con.Close();
        return true;
    }

    return false;
}

public Boolean ExecuteNonQuery(string sql)
{
    if (sql == null) return false;
    try
    {
        if (!OpenConnection())
            return false;
        else
        {
            //Tx = Con.BeginTransaction(IsolationLevel.ReadCommitted);
            Cmd = new SQLiteCommand(sql, Con);
            Cmd.ExecuteNonQuery();
            //Tx.Commit();
            return true;
        }
    }
    catch (Exception exception)
    {
        //Tx.Rollback();
        Msg.Log(exception);
        return false;
    }
    finally
    {
        CloseConnection();
    }
}

Это исключение: в строке 103:Cmd.ExecuteNonQuery();

Обнаружено исключение: Тип: System.Data.SQLite.SQLiteException Сообщение: база данных заблокирована База данных заблокирована Источник: System.Data.SQLite

Stacktrace: в System.Data.SQLite.SQLite3.Step (SQLiteStatement stmt) в System.Data.SQLite.SQLiteDataReader.NextResult () в System.Data.SQLite.SQLiteDataReader..ctor (SQLiteCommand cmd, CommandBehavior ведут себя) в System.Data .SQLite.SQLiteCommand.ExecuteReader (поведение CommandBehavior) в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery () в TimeSheet6.DbOp.ExecuteNonQuery (String sql) в d: \ Projects \ C # Applications \ Completed Projects \ TimeSheet6 \ TimeSB. CS: линия 103

Ответы на вопрос(4)

Ваш ответ на вопрос