ホームページ >Java >&#&チュートリアル >ResultSet データを処理するときに「結果セットの開始前」例外を回避するにはどうすればよいですか?

ResultSet データを処理するときに「結果セットの開始前」例外を回避するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-27 19:32:14244ブラウズ

How to Avoid a

ResultSet 例外: "結果セットの開始前"

クエリを実行すると、取得されたデータ行を含む ResultSet オブジェクトが返されます。ただし、カーソルは最初は最初の行の前を指しているため、データを取得しようとすると「結果セットの開始前」例外が発生します。

原因:

エラー最初に有効なデータにカーソルを置かずに ResultSet データにアクセスすると発生します。 row.

解決策:

問題を解決するには、次のコードを使用してデータを取得する前に、カーソルを最初の行に移動します:

result.next();
String foundType = result.getString(1);

拡張コードスニペット:

String sql = "SELECT type FROM node WHERE nid = ?";
PreparedStatement prep = conn.prepareStatement(sql);
int meetNID = Integer.parseInt(node.get(BoutField.field_meet_nid));
prep.setInt(1, meetNID);

ResultSet result = prep.executeQuery();
if (result.next()) { // Move cursor to first row
  String foundType = result.getString(1);
  ... // code to validate type
} else {
  throw new IllegalArgumentException(String.format("Node %d must be of type 'meet', but was %s", meetNID, foundType));
}

この変更により、データにアクセスする前にカーソルが ResultSet の最初の行に配置され、「結果セットの開始前」例外が防止されます。

以上がResultSet データを処理するときに「結果セットの開始前」例外を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。