使用已打开的数据库连接

zac*_*ack 2 c# sql-server database-connection sqlconnection visual-studio-2010

这有点奇怪,但我想检查我的数据库的连接是否已经打开?我该如何检查?如果打开我希望能够直接使用它而不通过所有声明:

sqlconnection conn = new sqlconnection("string ...");
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?我也知道连接字符串和连接名称.我想先检查此连接是否可用,然后继续.

Jus*_*tin 8

如果您知道连接字符串,那么获取新的可用sql连接的最简单方法是创建SqlConnection类的新实例:

using (SqlConnection conn = new SqlConnection("MyConnectionString"))
{
    conn.Open();
    // Use the connection
}
Run Code Online (Sandbox Code Playgroud)

.Net框架使用连接池,因此无需担心打开效率和多个连接 - 上述代码将重新使用可用的现有连接,或根据需要创建新连接.

如果你想节省一些打字,那么你可能会发现自己创建一个小帮手方法或属性很有用:

class SqlHelper
{
    public static SqlConnection GetConn()
    {
        SqlConnection returnValue = new SqlConnection("MyConnectionString");
        returnValue.Open();
        return returnValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

用法:

using (SqlConnection conn = SqlHelper.GetConn())
{
    // Use the connection
}
Run Code Online (Sandbox Code Playgroud)