解决OleDbDataReader重新获取记录时,使用GetString()方法出错的问题

问题是这样的,我写了一个方法,在程序中我用定时器不停的调用此方法,该方法中的主要代码如下:

if (dbReader.Read()) //判断是否已经读完
{

   Char=dbReader.GetString(0);
   return Char;
}
else
{
    dbReader = this.dbOper.GetCharRecord(sql);//读完时重新获取记录
    return dbReader.GetString(0);
}

当读完重新获取数据时,出错信息如下:

不存在此行/列的数据

我解决的方法如下(加了一行代码就解决了,现在我还弄不清是怎么回事,望知道的朋友给指点一二呀):

                if (dbReader.Read()) //判断是否已经读完
                {

                    Char=dbReader.GetString(0);
                    return Char;
                }
                else
                {
                    dbReader = this.dbOper.GetCharRecord(sql);//读完时重新获取记录
                    dbReader.Read();//少了这等代码,以下这行代码执行时,会出错
                    return dbReader.GetString(0);
                }

  

 

 

 

 

posted @ 2012-11-17 21:16  氺〤魚Oo。  阅读(377)  评论(0编辑  收藏  举报