Rumah >Java >javaTutorial >Bagaimana untuk Mengelakkan Pengecualian 'Sebelum Mula Set Keputusan' Semasa Mengendalikan Data ResultSet?
Pengecualian ResultSet: "Sebelum Mula Set Keputusan"
Melaksanakan pertanyaan mengembalikan objek ResultSet yang mengandungi baris data yang diambil semula. Walau bagaimanapun, kursor pada mulanya menghala ke hadapan baris pertama, menghasilkan pengecualian "Sebelum permulaan set hasil" semasa cuba mendapatkan data.
Punca:
Ralat berlaku apabila mengakses data ResultSet tanpa meletakkan kursor terlebih dahulu pada yang sah baris.
Penyelesaian:
Untuk menyelesaikan isu, gerakkan kursor ke baris pertama sebelum cuba mendapatkan semula data menggunakan kod berikut:
result.next(); String foundType = result.getString(1);
Kod Dipertingkat Coretan:
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)); }
Pengubahsuaian ini memastikan kursor diletakkan pada baris pertama ResultSet sebelum mengakses data, menghalang pengecualian "Sebelum permulaan set hasil".
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Pengecualian 'Sebelum Mula Set Keputusan' Semasa Mengendalikan Data ResultSet?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!