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

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

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

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

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

不存在此行/列的数据

解决OleDbDataReader重新获取记录时,使用GetString()方法出错的问题_第1张图片

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

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

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





你可能感兴趣的:(解决OleDbDataReader重新获取记录时,使用GetString()方法出错的问题)