我正在将SQLite3数据库用于小型系统。问题是,当我尝试使用IO文件系统重命名db文件时,System.IO返回另一个进程正在使用该文件的异常,但是我已经使用connection.Close()方法关闭了连接。我搜索了这个主题,但冷却找不到对我有用的东西。有人请建议我发布SQLite连接的正确方法..
先谢谢
答案 0 :(得分:1)
我学习使用SQLite编程的一个原因是关闭连接根本就不够好。您需要将所有内容包装在using
块中。确保您的SQLiteConnection
对象包含在using
块中,SQLiteCommand
包含在using
块中,SQLiteDataReader
包含在using
中阻止。您的代码应该与此类似:
using (var connection = new SQLiteConnection())
{
connection.ConnectionString = connectionString;
using (var command = new SQLiteCommand())
{
connection.Open();
command.CommandType = CommandType.Text;
command.CommandText = sql;
command.Connection = connection;
using (SQLiteDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
// Do something
}
}
}
}