Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 进程完成后是否关闭SQL连接?_C#_Sql - Fatal编程技术网

C# 进程完成后是否关闭SQL连接?

C# 进程完成后是否关闭SQL连接?,c#,sql,C#,Sql,我有这个关于创建库系统的教程,但是代码就像打开连接,然后在几个代码和命令之后,它以Close()结束;方法是否真的需要关闭连接,然后在有新函数时再次打开连接 例如,在登录按钮中,有一段代码以connnection.open()开头;并以连接结束。close();然后在搜索按钮中还有这个打开和关闭方法 真的有必要关闭连接吗?为什么不让它打开,然后在程序终止时关闭它呢?正确的方法是使用语句: SQL连接打开时表示与数据库的连接。connection类实现了IDisposable,这意味着您应该在使用

我有这个关于创建库系统的教程,但是代码就像打开连接,然后在几个代码和命令之后,它以Close()结束;方法是否真的需要关闭连接,然后在有新函数时再次打开连接

例如,在登录按钮中,有一段代码以connnection.open()开头;并以连接结束。close();然后在搜索按钮中还有这个打开和关闭方法


真的有必要关闭连接吗?为什么不让它打开,然后在程序终止时关闭它呢?

正确的方法是使用语句:

SQL连接打开时表示与数据库的连接。connection类实现了
IDisposable
,这意味着您应该在使用完它们后调用
Dispose
(或者,最好还是在
using
语句的上下文中使用它们)。但是,它们不是真正的数据库连接,而是数据库连接的外表。当您关闭(或处置)它们时,关联的连接将返回到池中。当你创建一个新的时,如果池中有一个匹配的,它就会被使用。因此,是的,创建、打开、使用并快速处理连接问题的最后一部分:进程终止将导致操作系统关闭连接。服务器将注意到这一点,并在其自身端关闭连接。但是,建议勤勉,以可控的方式适当关闭资源。这确保了一个有效的程序不会耗尽资源,无论它运行多长时间。