岩崎さん、志澤さん、

ご指摘ありがとうございます。
確かに、FieldCountですとReadで一行読み込んだ時のカラムのデータ数でした。




2013年5月20日 15:58 志澤 敦 <atsushi.shizawa@seikodo.co.jp>:
岩崎さん

始めまして、志澤と申します。

C# のMySQLDataReaderでは、
取得行の有無はHasRowsプロパティで確認出来ますが、
行数までは取得出来ません。

取得対象行数等にもよりますが、
.NETの場合、DataTableへ一度格納するなどであれば、
DataTable.Rows.Countで取得可能です。

従い、
手法の見直しをご検討される事をお勧めします。

以上、
ご参考になれば幸いです。


尚、
FieldsCountはカラム方向での件数となるとの記憶です。



(2013/05/20 15:08), 當山正一 wrote:
岩崎さん、

當山と申します。 初めまして。

データ件数ですが、FieldCountとというMySQLDataReaderのプロパティは使えないでしょうか?
上記のコードですと、myReader.FieldCountでデータ件数が取得できるはずです。





2013年5月20日 14:35 岩崎 誠司 <iwasaki_ryuqseed_6130@yahoo.co.jp>:
岩崎です。
 
皆様、ご無沙汰しております。
 
今まではC APIでSQL処理をしていましたが、
今度、C# + MySQL Connector/NETを使う必要に迫られ
四苦八苦しております。
 
どうしても情報を見つけることができませんでしたので
皆様のお力添えをお願いします。
 
下記のようにしてデータを取得することはできましたが、
データ件数の取得方法がわかりません。
 
C APIならmysql_num_rows()でデータ件数を取得できますが、
MySQL Connector/NETで件数を取得する方法はありますでしょうか?
 
ご教授のほどよろしくお願いします。
 
尚、データや件数を含めてクラス化したいと考えていますので
"SELECT COUNT(*) ..."以外でお願いできたらと思います。
 
 
    string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders";
    MySqlConnection myConnection = new MySqlConnection(myConnString);
    MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection);
    myConnection.Open();
    MySqlDataReader myReader;
    myReader = myCommand.ExecuteReader();
    // Always call Read before accessing data.
    while (myReader.Read()) {
       Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
    }
    // always call Close when done reading.
    myReader.Close();
    // Close the connection when done with it.
    myConnection.Close();
 
開発環境
Windows7 641bit
MySQL Connector/NET 6.6.5
Visual C#2012





--





--
http://about.me/touchan