c# - 为什么不在 finally block 中关闭数据库连接

标签 c# .net sql-server database

主要修改: 我看错文章了!评论是关于类的 finalize 方法而不是 finally block :)。抱歉。

我刚刚读到您不应该在 finally block 中关闭或处置数据库连接,但这篇文章没有解释原因。关于您为什么不想这样做,我似乎找不到明确的解释。

Here is the article

最佳答案

环顾四周,在 finally block 中关闭连接是推荐的方法之一。您正在查看的文章可能建议在使用连接的代码周围使用“using”语句。

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = connection.CreateCommand();

    command.CommandText = "select * from someTable";

    // Execute the query here...put it in a datatable/dataset
}

“using”语句将确保 Connection 对象在需要时立即被释放,而不是等待垃圾收集器释放它。

关于c# - 为什么不在 finally block 中关闭数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1049726/

相关文章:

c# - 过滤项目来源

c# - ODP.NET/EF6 - WHERE 子句中的 CHAR 数据类型

c# - 如何在c#中查找URL的内容?

c# - 将屏幕转换为客户端坐标问题

SQL 在两个方向上获取最近的日期

sql-server - 如何清除 SQL Server 事务日志?

c# - TweetSharp 在哪里?

c# - 默认存储库类的扩展

c# - 为什么 'RunWorkerCompleted' 在错误的线程上执行?

sql-server - sql server 选择第一次出现的数据更改