Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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#Winform和SQL Server之间的常量连接_C#_Sql Server_Winforms_Connection - Fatal编程技术网

C#Winform和SQL Server之间的常量连接

C#Winform和SQL Server之间的常量连接,c#,sql-server,winforms,connection,C#,Sql Server,Winforms,Connection,是否可以创建一个在WinForm应用程序打开时保持打开状态的连接? 此时,我在表单的类中声明了一个公共连接字符串,然后在每个私有void中启动一个新连接。我希望有一种方法可以在加载后和关闭应用程序之前只打开和关闭一次连接?当然,您可以轻松完成这一操作。只需在表单中创建一个SqlConnection变量,并在Load事件中初始化它。请确保在表单卸载时将其关闭 但是,大多数数据库可以有多个客户端。如果他们开始像这样打开数据库,那么在最好的情况下,您可能会开始有糟糕的性能。在最坏的情况下,当程序运行时

是否可以创建一个在WinForm应用程序打开时保持打开状态的连接?
此时,我在表单的类中声明了一个公共连接字符串,然后在每个私有void中启动一个新连接。我希望有一种方法可以在加载后和关闭应用程序之前只打开和关闭一次连接?

当然,您可以轻松完成这一操作。只需在表单中创建一个
SqlConnection
变量,并在
Load
事件中初始化它。请确保在表单卸载时将其关闭

但是,大多数数据库可以有多个客户端。如果他们开始像这样打开数据库,那么在最好的情况下,您可能会开始有糟糕的性能。在最坏的情况下,当程序运行时,其他请求将被完全阻止。如果您的应用程序有多个实例,那么这显然是一个主要问题


由于这些原因,实际上没有人在做你要求做的事情。我强烈建议您在执行此操作之前确保了解所有问题。

声明一个私有System.Data.SQLClient.SqlConnection对象作为表单的一部分,实例化它并在表单加载事件中打开它,在表单关闭时关闭连接。我认为这是一个糟糕的设计,如果你的项目在关闭数据库连接之前崩溃了会发生什么。为什么?这是个很坏的主意。您希望在使用完连接后立即关闭并处理它。如果你让连接保持打开状态,那么你的连接池将被摧毁。这听起来是个糟糕的主意。在你的查询之后关闭连接。net framework中的连接池处理连接并在需要时重用它,检查此项我希望每次都不必打开和关闭连接,但显然应该这样做。是否可以调用打开和关闭连接的函数?