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

    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数据库之间的所有其他数据访问均正常。似乎当我尝试将数据插入此字段时,它给我一个错误“数据库已锁定”。我的应用程序是单线程的,我的所有其他数据访问功能均已正确关闭并处理了适当的对象。有人知道什么地方可能出问题了吗?

最佳答案

错误“数据库已锁定”很可能表明某些其他连接仍具有打开的事务。

确保正确关闭和处置所有命令和连接。
即使在例外情况下,也要使用using

关于c# - 尝试将数据插入SQLite时出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13222824/

10-15 11:47
查看更多