- - PR -
SELECT文を実行した結果のレコード件数の取得方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-29 21:52
こんばんは
現在、自宅で試せる環境にありませんので質問させていただきます。 題名にもあるようにSQL分にてセレクトされたレコードの件数を取得するメソッド はあるのでしょうか? リファレンスを見てみたところResultSetインターフェースの「getFetchSize」 あたりが使えるのではないかと思い googleで「getFetchSize レコード数」で検索したところ 「一回あたりにFetchするレコード数」とあったのでこれは違うかなという気がしました。 |
|
投稿日時: 2005-10-29 23:33
javaというよりSQLの話ですかね。
select count(*) from table_name; |
|
投稿日時: 2005-10-30 00:55
SQLの実行結果って、必ずSQLのクライアントに全て返されるわけじゃないので、
レコード件数が取得できる事が保障されていません。 だからJDBCドライバではサポートされていませんね。 MicrosoftのADOでもレコード数を返すプロパティがありますが、 カーソルがサーバ上では取得はできないようになっています。 結局のところEOFになるまでフェッチしないとわからないんですね。 なので、ぽちさんのような方法で事前に件数を取得するのが確実ではないでしょうか。 |
|
投稿日時: 2005-10-30 23:05
お返事遅れて申し訳ありません。
そうでしたか。COUNTをとることにします。どうもありがとうございました。 |
|
投稿日時: 2005-10-31 02:08
もう完結しているようですが……
java.sql.ResultSetで取得したデータの数を得たいのですが? --- 私が今担当しているプロジェクトでもCOUNT(*)を発行しています。結局、これが一番簡単、確実っぽいです。 [ メッセージ編集済み 編集者: 永井和彦 編集日時 2005-10-31 02:15 ] |
|
投稿日時: 2005-10-31 15:08
Oracleだったら
select句にcount(*) over() as RecordCount を追加するなんて方法もアリ OracleSQLパズル http://oraclesqlpuzzle.hp.infoseek.co.jp |
1