日期:2014-05-20  浏览次数:21241 次

请问一个关于sqlDataReader的getValues()的问题?
有如下代码:
..................
  cn.Open();
           
    SqlCommand   com   =   new   SqlCommand( "select   *   from   T_STUDENT ",   cn);  
                             
    SqlDataReader   dr   =   com.ExecuteReader(CommandBehavior.Default);
//debug   发现   dr   是有记录的
    object[]   obj   =   new   object[1];
                               
      int   i   =   dr.GetValues(obj);

执行时候一直报告这个异常:Invalid   attempt   to   read   when   no   data   is   present
请问为什么会出现这样的异常?

------解决方案--------------------
在使用Reader前,应该先读取一下
Reader.read();
------解决方案--------------------
》》》

if(dr.Read()) {
//debug 发现 dr 是有记录的
object[] obj = new object[1];

int i = dr.GetValues(obj);

}