首页 新闻 会员 周边 捐助

在C#中sqlite遇到database is locked 如何解决?

0
悬赏园豆:20 [待解决问题]

多线程插入数据是,经常遇到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);
}
}
}
}

希望路过大侠,能够给出完美的解决方案

最好能够附上代码.

sjh10的主页 sjh10 | 初学一级 | 园豆:5
提问于:2011-07-18 15:23
< >
分享
所有回答(1)
0

添加锁

private static readonly object _lock = new object();   

 

lock (_lock)
{

  // to do something ...

}

Jake007 | 园豆:234 (菜鸟二级) | 2013-10-18 21:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册