SqlDataReader 创建之后重复使用问题

cyh811122 2012-02-01 04:28:29
sqlClass sqlObjectSelect = new sqlClass(); //创建SQL类__查询
string sqlSelect = "select * from 表名“;
SqlDataReader sdr = sqlObjectSelect.sdr(sqlSelect); //dataReader 创建

sqlSelect ="select * from 表名1";

sdr= sqlObjectSelect.sdr(sqlSelect); //dataReader 重复使用


为什么我运行报错,应该怎么修改代码呢?
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyh811122 2012-02-01
  • 打赏
  • 举报
回复
明白了 谢谢
dalmeeme 2012-02-01
  • 打赏
  • 举报
回复
是的,当使用阅读器时,也不能执行其他sql命令,比如ExecuteNonQuery()等。如果你要同时使用2个阅读器,则需要有2个Connection对象。
意飞翔心飞扬 2012-02-01
  • 打赏
  • 举报
回复
SqlConnection打开了应该必须关闭的吧。
cyh811122 2012-02-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dalmeeme 的回复:]
数据阅读器必须Close后才能再ExecuteReader()出一个新的,你没有Close阅读器。
[/Quote]
那你的意思是不能像 普通类对象可以重复使用了?
dalmeeme 2012-02-01
  • 打赏
  • 举报
回复
数据阅读器必须Close后才能再ExecuteReader()出一个新的,你没有Close阅读器。
cyh811122 2012-02-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
sqlObjectSelect.sdr是什么东西,里面干什么了,调试看看
[/Quote]
sqlClass其中的一个方法:
public SqlDataReader sdr(string sql)
{
SqlCommand sc = new SqlCommand(sql, sqlConnection);
return sc.ExecuteReader();

}
bdmh 2012-02-01
  • 打赏
  • 举报
回复
sqlObjectSelect.sdr是什么东西,里面干什么了,调试看看

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧