public static OleDbDataReader GetReader(string sql)
{
try
{
OleDbConnection conn = AccessSet();
if (conn.State == ConnectionState.Closed)
{ conn.Open(); } OleDbCommand cmd = new OleDbCommand(sql, conn);
return cmd.ExecuteReader();
}
catch (SqlException e)
{
throw new Exception(e.Message);
}
}在a.aspx.cs中用三个地方调用这个方法,返回的OleDbDataReader 在a.aspx页中循环显示数据
在循环时有使用到using关键字。现在的问题是按住F5让它持续的刷新,页面就会出错。在conn.Open();这行请教大家,还有别的方法能防止这错误的发生吗
解决方案 »
- 新手求助,带图大文章完美分页。
- GridView简单传递值问题?
- 关于gridview的刷新问题
- asp.net中怎样将html table单元格的值怎么取出来 然后保存到数据库中
- 在aspx.cs文件中,是否能得到放入其中的用户控件的Button事件
- 数据库导出Excel问题!!急!!不解决就不睡觉!!
- 文章系统:共6类1万篇文章,首页准备每类显示8条,如何用.NET实现?
- .net程序集中使用Server.Mappath问题
- 如何让DataTable中的某些行做为DataSource
- 请教一个xml的文件结构和读取方法,高手指点!
- 关于服务器
- Ilist<list>导出到excel,或者其他格式文件
我用下面的方法出错:OleDbConnection conn = AccessSet();
OleDbDataReader odr = null;
try
{
if (conn.State == ConnectionState.Closed)
{ conn.Open(); } OleDbCommand cmd = new OleDbCommand(sql, conn);
odr = cmd.ExecuteReader();
conn.Close();
return odr;
}
catch (SqlException e)
{
throw new Exception(e.Message);
}
finally
{ }
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
odr = cmd.ExecuteReader();
conn.Close();
return odr;
非得返回OleDbDataReader ?
OleDbDataReader 用完后也是要关闭的。
这代码用不了,提示尝试读取已经关闭的odr。
odr读取的速度比dt和ds的快,而且网站也已经写好,就差这个问题了在页面上已经有用进行关闭了,现在人数一多或一直按住F5就会出错
using(odr)
{
while(odr.read())
{}
}
//a.aspx.cs页
NewsRmd = db.GetReader("");//a.aspx页
<%
using(NewsRmd)
{
if (NewsRmd.Read())
{
%>
<dl>
<dd><a href="<%=NewsRmd["autoid"] %>.htm>"><%=NewsRmd["tablename"] %></dd>
</dl>
<%
}
}
%>
这是我在a.aspx页使用的情况,已经调用using进行关闭,现在的情况是你频繁的刷新页面就会出错
。
我已经在调用返回的页面(a.aspx)中使用using语句关闭了