| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 605 人关注过本帖
标题:[求助]阅读器关闭时Read的尝试无效的问题
收藏  订阅  推荐  打印 
jasonxie
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:207
积分:2184
注册:2007-3-19
[求助]阅读器关闭时Read的尝试无效的问题

各位,我用写代码的方式连上了一个数据库,然后用SqlDataReader 也可以读出数据库中的数据,只是每次在程序结束的时候都有一个异常,异常就是 “阅读器关闭时Read的尝试无效”,是什么原因啊。我觉得我在关闭数据库连接之前已经将DataReader这个阅读器关闭了啊~~~下面是我的一小段代码,看看是哪里出了问题啊 ,谢谢!

SqlDataReader dataReader = dataCommand.ExecuteReader(); //声明一个阅读器

while (dataReader.Read())
{

int teacherId = dataReader.GetInt32(0);
string teacherName = dataReader.GetString(1);
string teacherSex = dataReader.GetString(2);
int teaherAge = dataReader.GetInt32(3);
string teacherProf = dataReader.GetString(4);
int teacherSal = dataReader.GetInt32(5);
int teacherComm = dataReader.GetInt32(6);
string teacherDept = dataReader.GetString(7);

Console.WriteLine(
"Tno {0}\n Named {1}\n Sex {2}\n" +
"Age {3}\n Prof{4}\n Sal{5}\n Comm{6}\n Dept{7}\n\n",
teacherId, teacherName,teacherSex, teaherAge, teacherProf,
teacherSal, teacherComm, teacherDept);
dataReader.Close(); //关闭阅读器 }
}

catch(Exception e)
{
Console.WriteLine("Error accessing the database:" + e.Message );
}

finally
{
dataConnection.Close(); //每次都确保关闭了数据库连接
}

搜索更多相关主题的帖子: 时Read  数据库  阅读  尝试  
2007-11-17 15:30
寂静夜
Rank: 1
等级:新手上路
帖子:26
积分:366
注册:2007-11-17

把dataReader.Close(); 放在While循环外面

2007-11-18 12:29
junxi1
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:213
积分:2298
注册:2007-9-17

把dataReader.Close();放在finally{}里面试试.


foreach( in ){ }
2007-11-21 10:26
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.055850 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved