- PR -

ResultSet.first()メソッドについて

1
投稿者投稿内容
Qoo
常連さん
会議室デビュー日: 2006/05/18
投稿数: 37
投稿日時: 2007-09-11 13:05
JavaでSQLを取得し、ResultSetに格納しています。
中身をnext()で取り出し、比較などの処理に使い、最終行まで
行くと(next() == false)になると思います。

そのResultSetをもう一度使いたいのですが
単純にResultSet.first()と書くだけではだめなのでしょうか?
そう書いただけではエラーになってしまいます。

なので、現状は都度、同じSQLを発行して同じデータを取得している
為、効率が悪いので、質問させていただきました。

どなたか、ご教授よろしくお願い致します。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2007-09-11 14:08
ResultSet はインターフェイスで実装は別ですから、これだけの情報では何も分かりません。少なくともエラーの内容をちゃんと書かないと。カーソルオプションで解決するかもしれないし、JDBC ドライバがその機能をサポートしていないのかもしれない。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2007-09-11 14:21
 恐らくステートメントを生成するときに、
リザルトセットタイプが設定されていないからです。
リザルトセットタイプが設定されていないと、
「ResultSet.TYPE_FORWARD_ONLY」となるので、
カーソルは前方にしか進めません。

 サンのJavaドキュメントで主要なクラスについて、
調べることをお薦めしますよ。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2007-09-11 14:29
スクロール機能をサポートしないJDBCドライバも普通にあるのでDBMSとドライバのバージョンも教えてください。
1

スキルアップ/キャリアアップ(JOB@IT)