ホームページ >Java >&#&チュートリアル >ResultSet データを処理するときに「結果セットの開始前」例外を回避するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。