c#对数据库访问完应关闭连接

Posted Learning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#对数据库访问完应关闭连接相关的知识,希望对你有一定的参考价值。

1.对数据库的连接SqlConnection con = new SqlConnection(constr);使用完成后,应该至少应该close或dispose关闭。否则会导致数据库例如(SQl2005)中处于sleeping的进程增加并且不能自己销毁,最终会导致出现"“连接超时,已经到达最大连接数等信息”。

      其解决方法:见微软的官方说明“如果 SqlConnection 超出范围,则不会将其关闭。因此,除非将代码放在 using 语句内,否则必须调用 Close 或 Dispose 来显式关闭连接。它们在功能上是等效的。如果将连接池值 Pooling 设置为 true 或 yes,则也会释放物理连接。”
      https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnection.close(v=vs.80).aspx

2.Close之前可以增加SqlConnection.ClearPool(con),用于清除每次的连接,防止已经进行的数据库连接进入sleeping而导致连接用户数User Connections 增加。

以上是关于c#对数据库访问完应关闭连接的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft 访问 SQL Server Express [关闭]

c# windows窗体(添加信息以访问数据库)[关闭]

C# windows 应用程序访问数据库数据在关闭时不会持续存在

通过 c# 连接访问

从 c# 连接访问数据库

C#访问MySQL:连接查询