页面上所有的datareader每次使用完都close的~但是如果按住F5不断刷新~会提示有未关闭的datareader~请问是怎么回事?是connection的关系吗?因为是用三层做的~datareader是逻辑层通过数据层返回~所以每次使用完都只是datareader.close()~而没有connection.close()不是说datareader.close()后.net会自动关闭connection的吗?
解决方案 »
- 求教,两个题目,我是实在想不出了。
- 在seccess.aspx中label3和label4怎么来接收传递的值
- 有哪位大虾有关于asp.net好一点的电子书呀,或者是可以下载的网址^_^谢谢
- asp.net(vb.net)中一些小问题
- 如何对存入库的不同格式文件(Word或者Excel),进行全文检索?
- 怎样对数据库中的表一行行的进行查询并判断表中某字段的值是否为所要值?。。。。。小妹郁闷很久了。。。在线等!!!!!!
- 如何取得include file中变量的值
- asp.net插入数据问题
- 动态添加treeview节点,无刷新页面
- (Lostinet)迷失网络-闪电论坛 - 0.0.4.2 测试版发布(只放两天)
- 登陆界面排版
- 验证控件??
DataReader reader = Command.ExecuteReader(CommandBehavior.CloseConnection);
}
catch{
conn.Close();
}这样才会关闭连接吧。
在创建连接时候使用useing
例如下面有一个连接Access的执行方法public static int ExecuteSql(string SQLString, params OleDbParameter[] cmdParms)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
try
{
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
int rows = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return rows;
}
catch (System.Data.OleDb.OleDbException E)
{
throw new Exception(E.Message);
}
}
}
}
{
//关闭DataReader时关闭连接
DataReader reader = Command.ExecuteReader(CommandBehavior.CloseConnection); ...
return reader;
}调用方
DataReader reader = GetDataReader();
reader.Close();
个人建议找找网上封装好的数据库操作类
比如说动软的