6

C#OleDbDataReaderで取得したレコード数を取得したいですか?

strQuery = "SELECT * FROM Table_Name" ;                   
    dbCommand = new OleDbCommand(strQuery, dbConnection);
    dbReader = dbCommand.ExecuteReader();
    //Now how to get RowCount from the Table after this.

どんな助けでも大歓迎です。

ありがとう。

4

3 に答える 3

9

詳細:「ExecuteScalar」で行数を取得

ExecuteSclar()機能のために行くのではなく、利用してくださいread

SqlCommand cmd = new SqlCommand("SELECT count(*) FROM " + Table_Name, conn);
    try
    {
        conn.Open();
        int total = (Int32)cmd.ExecuteScalar();
    }
于 2011-05-09T05:55:22.230 に答える
2

クエリを次のように変更できます。

strQuery = "SELECT count(*) as RowCount, * FROM " + Table_Name;

これにより、次のように行数を取得できます。

dbReader.Read();
var rowCount = (int)dbRead["RowCount"];
于 2011-05-09T05:53:03.753 に答える
0

これでうまくいきますが、もっと良い方法があります。

int i = 0;
While (dbReader.Read()){
   i++;
}
于 2011-05-09T05:54:56.997 に答える