3

ResultSetJavaで同じオブジェクトを使うのは悪い習慣ですか? なぜですか、そうでないのですか?//テーブルのレコード数をクエリしてから、そのテーブルのビューをクエリしようとしているので、ここではこれが唯一の選択肢のようです。ビューを変更する方法がわかりません。

つまり、

ResultSet myResultSet = statement.executeQuery("SELECT count(*) FROM table");
myResultSet.next();
int recordCount = myResultSet.getInt(1);
myResultSet = statement.executeQuery("SELECT * FROM tableView");
//set other variables based on contents of fetched view

悪い考えですか?

4

3 に答える 3

3

投稿したコードは「同じものを再利用」しません。ResultSet単に1つのResultSetオブジェクトを破棄し、同じ変数を使用してResultSet、2番目に作成された別のオブジェクトへの参照を保持しますexecuteQuery。2 番目の結果セットで参照を上書きする前に、最初の結果セットを呼び出すことは良いコーディング方法close()ですが、これは厳密には必要ではありません。

オブジェクトを生成したオブジェクトが閉じられるか、再実行されるか、複数の結果のシーケンスから次の結果を取得するために使用されるとResultSet、オブジェクトは自動的に閉じられます。Statement

( ResultSet JavaDoc ドキュメントから、私の太字)

于 2013-07-05T11:19:12.467 に答える