请问.NET(C#)里面SqlConnection会自动关闭吗?

来源:百度知道 编辑:UC知道 时间:2024/05/02 21:25:24
是这样的,我在网上下了个论坛源码,改好以后才发现,他平均没个页面要open()10个SqlConnection的实例(我看过数据库使用连接),最厉害是16个,
多刷几次页面数据库连接已经上百了,再刷就刷不动了,请问SqlConnection会自动关闭吗?跟XP系统有没关系?这算正常吗?他是用DataReader去访问Connection的.
请各位帮帮忙,再线等....
谢谢
我也想手动关啊,可是现在的问题是,他用datareader去访问connection,connection是写在1个类里面的,而他是通过调用这类里面方法返回1个datareader。我真的不知道咋去关了~唉!!!!!!
haha谢谢哈!我知道了!感谢3位的帮助!,特别是MCZ2005谢谢提点!

处理datareader占用connection最直接有效的方法是:
例:
OledbCommand cmd=new OledbCommand(sql语句,conn);
DataReader dr=cmd.ExecuteReader(CommandBehavior.CloseConnetion);
以上代码是我手写的,大小写或个别字母可能有出入,但思路是对的,这样处理后,datareader在占用connection后会自动关闭连接。

不会自动关闭,需要自己手动关闭
当然,如果是有人专门写的一个framework可能会帮你打开、关闭connection。

但是,从你提供的信息看,如果确实属实,那个源码很垃圾。

不会,必须手动close().
如果代码没有写close,服务器资就会被占用光,会使服务器动不了。
察看SQL进程,就能察看到有多少连接没有被释放