0

我正在开发一个 C# 项目。我的程序适用于 SQL Server。

以下哪种方法是正确的?

  1. 当我启动我的程序时,我打开了一个 SQL Server 连接,当我关闭我的程序时,SQL 连接也关闭了。

  2. 当我需要使用 SQL 时,我会打开一个 SQL Server 连接,并在我的工作完成后关闭它。

4

2 回答 2

1

你告诉我们。两者都是正确的。一种是不好的做法,一种是正常情况下的好做法,但从技术上讲,两者都有效。

取决于上下文。通常你只会使用 2 - 这有很多优点,例如,当服务器关闭或几秒钟时,不必处理被重置的连接。这也意味着您可以轻松地使用多线程并使用多个连接——这一时刻来得更早而不是更晚,当大多数初级开发人员意识到他们宁愿做其他事情时,因为它变得复杂了。

这完全不是 AC# 问题。这是过去 20 年的通用“如何使用数据库”,涵盖了我曾经使用过的每种数据库的每种语言。

于 2013-01-14T07:56:28.873 回答
0

两者都是正确的,但最佳做法是使用

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    //Do something
}

这将在您使用块结束后调用 Dispose。阅读有关连接和连接池的信息http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.80).aspx

于 2013-01-14T08:45:07.780 回答