C#登陆的时候显示,已打开与此命令相关的datareader,必须首先将他关闭,要怎么解决啊,求详细解决办法?

[复制链接]
查看11 | 回复5 | 2013-4-16 09:39:52 | 显示全部楼层 |阅读模式
你这里既然有两个条件,而上面n>=1的时候知道关闭,下面else里面当然也需要关闭,否则调到下面条件的时候就报了没关闭datareader的异常了下面else里面datareader和connection都需要关闭,既然有两个条件就有执行到else的可能就要考虑else中代码的完善...
回复

使用道具 举报

千问 | 2013-4-16 09:39:52 | 显示全部楼层
加个Finally{后面写 sdr.Close();//关闭数据读取器
}前面的 sdr.Close();//关闭数据读取器
删了就好...
回复

使用道具 举报

千问 | 2013-4-16 09:39:52 | 显示全部楼层
我以前遇到过这样问题:那是因为你在同时执行两次SqlCommand操作,建议你将其中一个写成方法调用,貌似可以解决。...
回复

使用道具 举报

千问 | 2013-4-16 09:39:52 | 显示全部楼层
用的同一个SqlConnection的话,下一次查数据要先把前面的datareader释放了。或者新new一个SqlConnection。...
回复

使用道具 举报

千问 | 2013-4-16 09:39:52 | 显示全部楼层
很明显嘛,你打开的datareader没关闭,关了就行了,祝好运...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行