【问题标题】:Using when working with SQLCommand/Connection使用 SQLCommand/Connection 时使用
【发布时间】:2014-01-14 14:57:18
【问题描述】:

我已经使用了一个函数来打开 sql 连接并生成一个命令。所以我不使用 using。 但是如果我得到一个异常会发生什么?在捕获异常的同时我明确地处理它们?

【问题讨论】:

  • 是的,特别是 SqlConnection,还有 SqlCommand。但是不清楚为什么在函数中打开 SqlConnection 会排除 using 语句。

标签: c# sql dispose sqlconnection sqlcommand


【解决方案1】:

using 转换为 try-finally 块。如果您不想使用using 语句,那么您可以使用try-finally 模拟相同的语句,在您使用catch 的情况下,只需使用finally 块并在那里处理连接。比如:

{
    SqlConnection conn = new SqlConnection("your connection string");
    try
    {
        //your code
    }
    catch (SqlException se)
    {
        //handle particular exception first
    }
    catch (Exception ex)
    {

        //handle all other exceptions
    }
    finally
    {
        if (conn != null)
            conn.Dispose();
    }
}

这将确保在发生异常和正常流程的情况下处理连接(没有发生异常时)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多