JDBC ResultSet の問題: 「結果セットの開始前」例外
ResultSet オブジェクトからデータを取得しようとすると、エラーが発生する可能性があります「結果セットの開始前」と書かれています。このエラーは通常、ResultSet 内のカーソルの位置の問題が原因で発生します。
提供されたコード スニペットでは、ResultSet は result.beforeFirst() を使用して最初の行の前に配置されています。その後、最初にカーソルを有効な行に移動せずに、result.getString(1) を使用してデータを取得しようとします。
この問題を解決するには、取得を試行する前にカーソルを最初の行に配置する必要があります。データ。これは、result.next() メソッドまたは result.first() メソッドのいずれかを使用して実現できます。
修正コード:
ResultSet result = prep.executeQuery(); result.next(); // Move the cursor to the first row String foundType = result.getString(1);
または、どちらかが不明な場合は、 ResultSet にデータが含まれている場合は、if ステートメントを使用して、データを移動する前にデータをチェックできます。カーソル:
if (result.next()) { String foundType = result.getString(1); }
データを取得する前にカーソルが有効な行に配置されていることを確認することで、「結果セットの開始前」例外を回避し、ResultSet からデータを正常に取得できます。
以上がJDBC で「結果セットの開始前」例外が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。