Rumah >Java >javaTutorial >Mengapa Saya Mendapat Pengecualian 'Sebelum Mula Set Keputusan' dalam JDBC?
JDBC ResultSet Isu: "Sebelum Mula Set Keputusan" Pengecualian
Apabila cuba mendapatkan data daripada objek ResultSet, ralat mungkin berlaku menyatakan "Sebelum permulaan set keputusan." Ralat ini biasanya timbul disebabkan oleh isu kedudukan dengan kursor dalam ResultSet.
Dalam coretan kod yang disediakan, ResultSet diletakkan sebelum baris pertama menggunakan result.beforeFirst(). Selepas itu, percubaan dibuat untuk mendapatkan data menggunakan result.getString(1) tanpa terlebih dahulu mengalihkan kursor ke baris yang sah.
Untuk menyelesaikan isu ini, kursor harus diletakkan pada baris pertama sebelum cuba mendapatkan semula data. Ini boleh dicapai dengan sama ada menggunakan kaedah result.next() atau result.first().
Kod Dibetulkan:
ResultSet result = prep.executeQuery(); result.next(); // Move the cursor to the first row String foundType = result.getString(1);
Sebagai alternatif, jika tidak pasti sama ada ResultSet mengandungi sebarang data, pernyataan if boleh digunakan untuk menyemak data sebelum cuba mengalihkan kursor:
if (result.next()) { String foundType = result.getString(1); }
Dengan memastikan kursor diletakkan pada baris yang sah sebelum mendapatkan data, pengecualian "Sebelum permulaan set hasil" boleh dielakkan dan data boleh diperoleh dengan jayanya daripada ResultSet.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Pengecualian 'Sebelum Mula Set Keputusan' dalam JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!