我为我的应用创建了一个通用的数据库处理程序类。
我正在使用本地数据库,因此这里使用了SqlCeConnection
类。
我想做的是测试连接字符串是否有效,因此在执行connection.Open();
让我们说
SqlCeConnection conn = new SqlCeConnection(connectionString);
//so far we have only created the connection, but not tried to open it
//Would be nice to update the UI to say that conn is OK
conn.testConnection();
conn.Open();
我在考虑编写一种尝试open
然后close
连接的方法,我是否正确地想到这一点,或者是否有更好的方法。
答案 0 :(得分:6)
测试连接会增加额外的开销。为什么不直接打开连接并将代码放在Try-Catch
try
{
conn.Open();
}
catch(SqlCeException ex)
{
// output the error to see what's going on
MessageBox.Show(ex.Message);
}
答案 1 :(得分:3)
您可以将DbConnectionStringBuilder
与属性ConnectionString
一起使用,如果connection string is not correct format它会抛出异常:
public static class Extension
{
public static void TestConnection(this DbConnection connection)
{
var builder = new DbConnectionStringBuilder
{
ConnectionString = connection.ConnectionString
};
}
}
通过这种方式,您无需真正打开与数据库的连接。