尝试将数据插入SQLite时出错

时间:2012-11-04 20:54:58

标签: c# sqlite system.data.sqlite

我使用以下代码更新SQLite数据库中的“Picture”字段:

    public void SetImage(byte[] image)
    {
        var sql = "UPDATE Part SET Picture=@0 WHERE PartId=" + PartId.ToString(CultureInfo.InvariantCulture);
        var con = new SQLiteConnection(GetConnectionString());

        var command = new SQLiteCommand(con)
        {
            CommandText = sql
        };

        command.Parameters.AddWithValue("@0", image);
        con.Open();
        command.ExecuteNonQuery();
        con.Close();
        command.Dispose();
        con.Dispose();
    }

我的SQLite数据库的所有其他数据访问工作正常。似乎当我尝试将数据插入到这一个字段中时,它给出了一个错误“数据库被锁定”。我的应用程序是单线程的,我的所有其他数据访问功能都正确关闭并处理正确的对象。任何人都有一个线索可能是错的?

1 个答案:

答案 0 :(得分:1)

错误“数据库被锁定”可能表示某些其他连接仍然有一个打开的事务。

确保正确关闭和处置所有命令和连接。 要在例外情况下执行此操作,请使用using