我正在开发一个 C# 项目。我的程序适用于 SQL Server。
以下哪种方法是正确的?
当我启动我的程序时,我打开了一个 SQL Server 连接,当我关闭我的程序时,SQL 连接也关闭了。
当我需要使用 SQL 时,我会打开一个 SQL Server 连接,并在我的工作完成后关闭它。
我正在开发一个 C# 项目。我的程序适用于 SQL Server。
以下哪种方法是正确的?
当我启动我的程序时,我打开了一个 SQL Server 连接,当我关闭我的程序时,SQL 连接也关闭了。
当我需要使用 SQL 时,我会打开一个 SQL Server 连接,并在我的工作完成后关闭它。
你告诉我们。两者都是正确的。一种是不好的做法,一种是正常情况下的好做法,但从技术上讲,两者都有效。
取决于上下文。通常你只会使用 2 - 这有很多优点,例如,当服务器关闭或几秒钟时,不必处理被重置的连接。这也意味着您可以轻松地使用多线程并使用多个连接——这一时刻来得更早而不是更晚,当大多数初级开发人员意识到他们宁愿做其他事情时,因为它变得复杂了。
这完全不是 AC# 问题。这是过去 20 年的通用“如何使用数据库”,涵盖了我曾经使用过的每种数据库的每种语言。
两者都是正确的,但最佳做法是使用
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
//Do something
}
这将在您使用块结束后调用 Dispose。阅读有关连接和连接池的信息http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.80).aspx