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();
DataReader是一个只读,向前的数据对象
to saucer(思归) 就是说正常情况下,每次while(rdr.Read())是向前到下一条记录,大括号里面每一步都是刚刚读到的那条记录, 而我出现的错误是大括号里每向前执行一步,DataReader就向前读取一条数据 比如我有6条数据用while(rdr.Reader) { string t = rdr[0].ToString(); }我到最后发现读到的只有3条数据.但是后来就好了,不知道怎么回事?
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();
就是说正常情况下,每次while(rdr.Read())是向前到下一条记录,大括号里面每一步都是刚刚读到的那条记录,
而我出现的错误是大括号里每向前执行一步,DataReader就向前读取一条数据
比如我有6条数据用while(rdr.Reader)
{
string t = rdr[0].ToString();
}我到最后发现读到的只有3条数据.但是后来就好了,不知道怎么回事?
而且是好像是有异常的,我还没找到错误所在后面的datareader是读取这张由存储过程得出的表,会不会因为存储过程有问题所以后面的读取也有问题那?我在sql查询分析器里直接都是没有问题的阿现在我又不能读数据了:(
只有运行到rdr.Reader的时候出现第一条数据,之后就"在没有任何数据时进行无效的读取尝试"!