read方法就是使DataReader向前前进一步的,要读取数据用getValue等一系列Get方法

解决方案 »

  1.   

    DataReader is a forward-only read-only stream, the only to go forward is call its Read() method, 
    SqlDataReader rdr ;
    rdr =  cmd.ExecuteReader();
    int n=0;
    while (rdr.Read())

       n++;
       string t = rdr[0].ToString();
       Response.Write(String.Format("record {0} is {1}<BR>", n, t));      
    }
    rdr.Close();
      

  2.   

    DataReader是一个只读,向前的数据对象
      

  3.   

    to saucer(思归)
    就是说正常情况下,每次while(rdr.Read())是向前到下一条记录,大括号里面每一步都是刚刚读到的那条记录,
    而我出现的错误是大括号里每向前执行一步,DataReader就向前读取一条数据
    比如我有6条数据用while(rdr.Reader)
    {
    string t = rdr[0].ToString();
    }我到最后发现读到的只有3条数据.但是后来就好了,不知道怎么回事?
      

  4.   

    大侠救命阿又出错了,不过我前面有执行存储过程的语句
    而且是好像是有异常的,我还没找到错误所在后面的datareader是读取这张由存储过程得出的表,会不会因为存储过程有问题所以后面的读取也有问题那?我在sql查询分析器里直接都是没有问题的阿现在我又不能读数据了:(
    只有运行到rdr.Reader的时候出现第一条数据,之后就"在没有任何数据时进行无效的读取尝试"!
      

  5.   

    你前面是否有再判断if (rdr.read()){}呢>