DBMNG数据库管理与应用

抓住自己最有兴趣的东西,由浅入深,循序渐进地学……
当前位置:首页 > SQLite > 常见问题

在C#中sqlite遇到databaseislocked如何解决?

多线程插入数据是,经常遇到database is locked情况,很烦人。网上找了很多资料都没有解决。

附上写的部分代码:

View Code
		
public static string connectionString = @"Data Source=E:\develop\2011-7\BuyEr\BuyEr.db"; public static object GetSingle(string SQLString) { using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection)) { try { connection.Open(); object obj = cmd.ExecuteScalar(); if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) { return null; } else { return obj; } } catch (System.Data.SQLite.SQLiteException e) { connection.Close(); throw new Exception(e.Message); } } } }


解决方案:

添加锁

private static readonly object _lock = new object();   

 

lock (_lock)
{

  // to do something ...

}

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号