如何获得SqlDataReader对象里有多少条数据?
有没有像ASP里Recordset对象一样的RecordCount属性。恳请赐教!不胜感谢!

解决方案 »

  1.   

    试验一下:mySqlDataReader.RecordsAffected,返回值int,获取执行 Transact-SQL 语句所更改、插入或删除的行数
      

  2.   

    我是用select语句执行的查询,不是更新操作,
    还有别的方法吗?(不用DataSet)
      

  3.   

    你自己去看帮助文档,像你所说的SqlDataReader读取的数据数目是否就可以用以下:
       SqlDataReader.Read().Count
      

  4.   

    上边的朋友的方法不行!根本没有Count属性或方法!
      

  5.   

    “在默认情况下,DataReader 的 Read 方法一次只在内存中存储一行,从而降低了系统开销!”
      

  6.   

    若SqlDataReader返回多行时,恐怕只能用循环得到了!
      

  7.   

    或者这样吧"select count(*) from yourtalbe;select * from yourtalbe",在dataread中,先读总数,然后再读下一个结果集,如果做分页这样做最快。
      

  8.   

    好像datareader的作用主要是用它的read向前读取数据,比如
    while datareader.read()
      statements
    end while不知道是不是:)
      

  9.   

    好像不用吧,直接SqlCommand cmd=new SqlCommand("select * from tablename",con)
    然后用int a=cmd.ExcuteNonQuery();
    a不就是影响的行数吗?
      

  10.   

    可以用这样的:
    Int32 numb = 0;
    while(mySqlDataReader.read())
    {
        numb++;
    }
    MessageBox(numb.toString());
      

  11.   

    用ExecuteScalar()
    SqlCommand cmd = new SqlCommand("select count(*) from table"....);int i = (int)cmd.ExecuteScalar();
      

  12.   

    有点糊涂了,到底是看表中有多少条记录还是要看SqlDataReader返回多少条数据,而且SqlDataReader一般就返回一条数据。
      

  13.   

    SqlDataReader类没有相关的属性。你必须通过sql查询,或通过while,count++;的方式。