我正在使用以下代码更新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/