这是一个相对简单的问题,但我想确保我正确地做到这一点。连接到数据库
连接数据库的最佳做法是什么?这是我目前正在做的,我想确保这或多或少地遵循最佳实践。
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,上面可能不是你想要做的。 – 2009-11-23 16:36:53
任何人都可以解释为什么单例实现和使用它的部分都需要“新的SQLiteConnection”?我无法很好地阅读C#,但对我来说这看起来很奇怪! – Juergen 2009-11-23 16:38:27
@Juergen - 如果这是SQLite的ADO.NET 2.0提供程序(http://sourceforge.net/projects/sqlite-dotnet2/),它包含一个克隆提供的连接的原型构造函数。 – 2009-11-23 17:25:53