关于数据库文件被独占的问题
cpp_1 2015-06-04 10:23:25
我现在遇到一个奇怪的问题
数据库:sqlite
用的DLL:System.Data.SQLite 版本:1.0.97.0
现在奇怪的是,第一次执行的时候,可以先复制,在读取数据库内容
当第二次click的时候,他就报,数据库被另一个进度占用
如果我把数据读取这一行去行,不管多少次click都可以正常复制/黏贴
数据库链接我也正常关闭了,怎么还会被占用着,好奇怪
private void button3_Click(object sender, EventArgs e)
{
if(pda.pda_to_pc(out message))
{
new model_class.sqlite_db().read(); (这一行和数据库有关系的去掉就可以正常复制/黏贴了,加了就不行)
}
}
========================================================
pda_to_pc里面就只有这一个工作
RemoteFile.CopyFileFromDevice(dev, pda_path, Path.Combine(pc_path,pda_path, true);
复制文件
public class sqlite_db
{
public void read()
{
string connectString = @"Data Source=abc.db;Pooling=true;FailIfMissing=false";
SQLiteConnection conn = new SQLiteConnection(connectString);
conn.Open();
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM t1 ";
cmd.CommandType = CommandType.Text;
using (SQLiteDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{ }
}
}
}