winform + sql server 是否需要随时关闭数据库联接? 刚才看了一个帖子,他是因为客户端连接过多出了问题我现在的代码是程序一启动就打开连接Connection 是静态的程序关闭的时候才断开连接这种方法是不是不合理?是不是有隐患?但是我认为连接数据库是需要时间的,每次用完都要关闭,再用再连? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ:可以看一下ADO.NET 的书籍一般都是在对书籍操控之前,就OPEN(),操作结束就CLOSE()其实你的代码把数据库连接关闭,只要程序存在,就没有真正关闭,ADO.NET 会建立一个连接池存储你创建的这个连接,当你在下次操作数据需要打开数据库连接OPEN()时,ADO.NET 会判别前面的连接是否可用,可用就直接打开连接,不可用材会创建新的连接。因为数据库连接是有限的。一般不会去吧数据库连接变成静态的,这样不好。比如1、open();//打开连接for(){//执行数据库操作,假设循环次数很大}close()//关闭连接2、for(){open();//打开连接//执行数据库操作,假设循环次数很大close()//关闭连接}其实1、2种方法对数据库操作效能都差不多,因为你即使每次循环都关闭了连接,然后又打开,其实并不是重新创建,而是使用连接池中空闲的连接。当然第二种方法会有创建对象的额外开销,这里只是为了说明连接池的问题。 那取决于你用什么对象处理数据了,如果你用dataadapter来处理数据,则可以不用自己关闭数据库了,它会自动关闭!如果用其它的就要手动的关闭了! 我都用 DataSet 有没有影响? 对数据库操作完就应该马上关闭。最好connection不要用静态的。 尽晚打开,尽早关闭。ado.net会自动给你处理效率问题的。 gdi+画图 和数据库 都要手动关闭。不要依赖.net回收本着越早越好的原则,关闭。 怎样用修改文本文件的内容? 生成规则字符串 有关窗体 如何重写MessageBox.Show()的方法 如何结束上级方法 C#中联合调试问题。 应用程序中的服务器错 老问题 邮件头分解的问题---急--再线 !! 救命啊. c#中reportview的问题 *!100分相送!* 关于自动生成控件锚定位置的问题 大侠们救命啊! 怎么编程实现文件关联?
存储你创建的这个连接,当你在下次操作数据需要打开数据库连接OPEN()时,ADO.NET 会判别
前面的连接是否可用,可用就直接打开连接,不可用材会创建新的连接。因为数据库连接是有
限的。
一般不会去吧数据库连接变成静态的,这样不好。
比如
1、
open();//打开连接
for()
{
//执行数据库操作,假设循环次数很大
}
close()//关闭连接
2、
for()
{
open();//打开连接
//执行数据库操作,假设循环次数很大
close()//关闭连接
}其实1、2种方法对数据库操作效能都差不多,因为你即使每次循环都关闭了连接,
然后又打开,其实并不是重新创建,而是使用连接池中空闲的连接。
当然第二种方法会有创建对象的额外开销,这里只是为了说明连接池的问题。
最好connection不要用静态的。