How to get number of rows using SqlDataReader in C#

后端 未结 6 968
故里飘歌
故里飘歌 2020-11-28 09:18

My question is how to get the number of rows returned by a query using SqlDataReader in C#. I\'ve seen some answers about this but none were clearly defined exc

6条回答
  •  没有蜡笔的小新
    2020-11-28 10:17

    to complete of Pit answer and for better perfromance : get all in one query and use NextResult method.

    using (var sqlCon = new SqlConnection("Server=127.0.0.1;Database=MyDb;User Id=Me;Password=glop;"))
    {
        sqlCon.Open();
        var com = sqlCon.CreateCommand();
        com.CommandText = "select * from BigTable;select @@ROWCOUNT;";
        using (var reader = com.ExecuteReader())
        {
            while(reader.read()){
                //iterate code
            }
            int totalRow = 0 ;
            reader.NextResult(); // 
            if(reader.read()){
                totalRow = (int)reader[0];
            }
        }
        sqlCon.Close();
    }
    

提交回复
热议问题