Rumah >Java >javaTutorial >Mengapa Saya Mendapat Pengecualian 'Sebelum Mula Set Keputusan' Apabila Mengakses Data ResultSet?

Mengapa Saya Mendapat Pengecualian 'Sebelum Mula Set Keputusan' Apabila Mengakses Data ResultSet?

Linda Hamilton
Linda Hamiltonasal
2024-12-28 12:28:41777semak imbas

Why Do I Get a

Pengecualian ResultSet: "Sebelum Mula Set Keputusan"

Apabila mendapatkan semula data daripada objek ResultSet, anda mungkin menghadapi pengecualian dengan mesej "Sebelum permulaan set keputusan." Ralat ini berlaku apabila cuba mengakses data hasil sebelum kursor telah dialihkan ke baris pertama.

Untuk menangani isu ini, pastikan anda mengalihkan kursor ke baris pertama secara eksplisit menggunakan kaedah next() sebelum mencuba untuk mendapatkan semula data. Kod yang diperbetulkan di bawah menunjukkan pembetulan ini:

    ResultSet result = prep.executeQuery();
    if (result.next()) { // Move cursor to first row
        String foundType = result.getString(1);

        if (!foundType.equals("meet")) {
            throw new IllegalArgumentException(String.format("Node %d must be of type 'meet', but was %s", meetNID, foundType));
        }
    }

Sebagai alternatif, anda boleh menggunakan gelung sementara untuk lelaran melalui set hasil, menggerakkan kursor melalui setiap baris sehingga tiada lagi baris untuk diproses:

    ResultSet result = prep.executeQuery();
    while (result.next()) {
        String foundType = result.getString(1);

        if (!foundType.equals("meet")) {
            throw new IllegalArgumentException(String.format("Node %d must be of type 'meet', but was %s", meetNID, foundType));
        }
    }

Dengan mengalihkan kursor ke baris pertama (atau melelang melalui set hasil menggunakan gelung), anda boleh berjaya mendapatkan data dan mengendalikan pengecualian dengan anggun.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Pengecualian 'Sebelum Mula Set Keputusan' Apabila Mengakses 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