【发布时间】:2009-11-23 16:24:36
【问题描述】:
这是一个相对简单的问题,但我想确保我这样做是正确的。
连接到数据库的最佳做法是什么?这就是我目前的做法,我想确保这或多或少遵循最佳实践。
private static SQLiteConnection conn;
public static SQLiteConnection Conn
{
get
{
try
{
if (conn == null)
conn = new SQLiteConnection(fullName);
if (conn.State != ConnectionState.Open)
{
conn.ConnectionString = connectionString;
conn.Open();
}
}
catch (Exception Excp)
{
DataErrorLogger.WriteError(Excp, "");
}
return conn;
}
}
当我实际使用连接时,我正在这样做。
using (SQLiteConnection conn = new SQLiteConnection(SQLiteConn.Conn))
{}
谢谢!
【问题讨论】:
-
我同意唐的回答,它看起来不错。但请注意,对于 SQLite 以外的数据库 API,上述操作可能不是您想要做的。
-
谁能解释一下为什么单例实现和使用它的部分都需要“新的 SQLiteConnection”?我不太会读c#,但对我来说看起来很奇怪!
-
@Juergen - 如果这是 ADO.NET 2.0 Provider for SQLite (sourceforge.net/projects/sqlite-dotnet2),它包含一个原型构造函数,用于克隆提供的连接。
标签: c# database sqlite database-connection