Rumah >Java >javaTutorial >Bagaimana untuk Mengelakkan Pengecualian 'Sebelum Mula Set Keputusan' Semasa Mengendalikan Data ResultSet?

Bagaimana untuk Mengelakkan Pengecualian 'Sebelum Mula Set Keputusan' Semasa Mengendalikan Data ResultSet?

Linda Hamilton
Linda Hamiltonasal
2024-12-27 19:32:14244semak imbas

How to Avoid a

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn