好的,所以我有一个DBConnect类,其中我的所有方法都与我的程序数据库有关。我知道连接是一个相对昂贵的资源,所以打开和关闭我的数据库文件的正确方法是什么。
这就是我目前正在使用的内容 我只是在构造函数中创建连接,然后在方法中需要时打开和关闭它。这是否正确返回到池的连接?如果我在我的方法中使用(conn)也会更好。
public class DBConnect
{
SQLiteConnection conn = null;
public DBConnect()
{
string connStr = @"Data Source=tests.db; Version=3;";
conn = new SQLiteConnection(connStr);
}
public DBConnect(string connStr)
{
conn = new SQLiteConnection(connStr);
}
public DataTable DBSelect(string query)
{
/*
* Uses a select query to store data from the database into
* a datatable
*/
try
{
conn.Open();
DataTable dt = new DataTable();
using (SQLiteCommand cmd = new SQLiteCommand(query, conn))
{
using (SQLiteDataReader dr = cmd.ExecuteReader())
{
dt.Load(dr);
return dt;
}
}
}
catch (SQLiteException err)
{
MessageBox.Show("Caught exception: " + err.Message);
return null;
}
finally
{
conn.Close();
}
}//DBSelect