3

我为我的应用程序创建了一个通用数据库处理程序类。

我使用的是本地数据库,所以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();

我正在考虑编写一种尝试连接的方法,openclose的想法是正确的还是有更好的方法。

4

2 回答 2

6

测试连接性会增加额外的开销。为什么不直接打开连接,把代码放进去Try-Catch

try
{
    conn.Open();
}
catch(SqlCeException ex)
{
    // output the error to see what's going on
    MessageBox.Show(ex.Message); 
}
于 2012-10-26T03:46:50.917 回答
3

您可以使用DbConnectionStringBuilderwith 属性,如果连接字符串格式不正确ConnectionString,它将引发异常:

public static class Extension
{
    public static void TestConnection(this DbConnection connection)
    {
        var builder = new DbConnectionStringBuilder
            {
                ConnectionString = connection.ConnectionString
            };
    }
}

通过这种方式,您不需要真正打开与数据库的连接。

于 2012-10-26T03:53:58.303 回答