如何写一个判断conn关没关闭的方法啊?
1/如何写一个判断conn关没关闭的方法啊?
如果检测没关就conn.close 请问该怎么写这个方法啊
2/还有就是我绑定数据的时候用repeater绑定数据 绑定完了是不是也要 close 啊
3/还有就是我打开网站总提示什么连接池已满,,请问该怎么解决啊
3个问题 100分送上 对不起我问的是3个问题不是一个呵呵 请都回答好么,我是菜鸟呵呵谢谢
------解决方案--------------------可以通过SqlConnection.State 属性 来查看:
.NET Framework 类库
SqlConnection.State 属性
指示 SqlConnection 的状态。
命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中)
ConnectionState 枚举
Broken 与数据源的连接中断。只有在连接打开之后才可能发生这种情况。可以关闭处于这种状态的连接,然后重新打开。(该值是为此产品的未来版本保留的。)
Closed 连接处于关闭状态。
Connecting 连接对象正在与数据源连接。(该值是为此产品的未来版本保留的。)
Executing 连接对象正在执行命令。(该值是为此产品的未来版本保留的。)
Fetching 连接对象正在检索数据。(该值是为此产品的未来版本保留的。)
Open 连接处于打开状态。
------解决方案--------------------比如:
if (SqlConnection.State != ConnectionState.Closed)
{
SqlConnection.Close();
}
------解决方案--------------------真快,有没抢上..
------解决方案-------------------- ...............
------解决方案--------------------2/还有就是我绑定数据的时候用repeater绑定数据 绑定完了是不是也要 close 啊
------------------------------------
得到数据集后就可以close了
------解决方案--------------------关于conn的close的,参考:
SqlConnection conn = new SqlConnection(connStr);
if (conn.State.ToString() == "Closed ") conn.Open();
SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);
da.Fill(ds, "test01 ");
if (conn.State.ToString() == "Open ") conn.Close();
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
------解决方案--------------------速度太快了,帮顶
------解决方案--------------------第一个问题前面的人已经答了,我就来回答后面2个
2/还有就是我绑定数据的时候用repeater绑定数据 绑定完了是不是也要 close 啊
※※※※※※※※※※※※※※※※※※※※※※※※※※※※
答:你要关的是数据库链接,而不是repeater
3/还有就是我打开网站总提示什么连接池已满,,请问该怎么解决啊
※※※※※※※※※※※※※※※※※※※※※※※※※
数据库链接池中的最大链接数都是有限的,如果超过这个最大链接数就会出现这个情况,原因很可能是程序只打开数据库链接而没有关闭链接,办法就是每次用完数据库链接以后及时关闭。
------解决方案--------------------第三个问题不清除,还没遇到过连接池已满的情况,试着给你这个站点单独建立个连接池试试
------解决方案--------------------顶一下吧,没机会回答了
------解决方案--------------------用连接对象的STATE属性可以进行判断
------解决方案--------------------up
------解决方案--------------------if (conn.State.ToString() == "Open ")
-----------------------
为什么一定要通过字符串来比较呢!
------解决方案--------------------1、用sqlConnection.State判断是否关闭
2、最好是关闭连接,释放资源
3、可能你的sqlserver设置的连接数太少,而你的连接在使用完后没有被关闭,并且在多个地方打
------解决方案--------------------if (conn.State != System.Data.ConnectionState.Open)