通过SQL连接尝试/捕获

时间:2019-05-20 13:43:53

标签: c# using-statement try-catch-finally

这是该问题的后续问题:

Correct use of Try Catch for the SQL connection in C#

当您编写如下代码时:

using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            using (SqlCommand cmd = new SqlCommand(queryGetPcPrintDetails, connection))
            {
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    if (reader != null)
                    {
                        while (reader.Read())
                        {
                            //do stuff
                        }
                    }
                } // reader closed and disposed up here

            } // command disposed here
        }

是否需要捕获异常以关闭连接?例如,如果在第二次使用或“做东西”部分中有问题。我是否需要以某种方式尝试/最终关闭连接?

1 个答案:

答案 0 :(得分:0)

只要在using{}块内创建连接,连接就会在using块/作用域的结尾处自动关闭。从某种意义上说,Dispose()方法在离开范围时自动调用的Using{}

SQL connection class : MSDN