Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan \'Operasi Tidak Dibenarkan Selepas ResultSet Ditutup\' Pengecualian MySQL dalam Java JDBC?

Bagaimana untuk Menyelesaikan \'Operasi Tidak Dibenarkan Selepas ResultSet Ditutup\' Pengecualian MySQL dalam Java JDBC?

DDD
Lepaskan: 2024-11-26 13:29:14
asal
969 orang telah melayarinya

How to Resolve the

Pengecualian MySQL: "Operasi Tidak Dibenarkan Selepas ResultSet Ditutup" dalam Java JDBC

Apabila bekerja dengan pangkalan data, adalah penting untuk memahami keadaan objek data untuk mengelakkan ralat. Satu pengecualian biasa dalam JDBC ialah ralat "Operasi tidak dibenarkan selepas ResultSet ditutup". Mari kita terokai punca dan penyelesaian bagi isu ini.

Punca:

Dalam JDBC, ResultSet mewakili set hasil pertanyaan pangkalan data. Sebaik sahaja anda melaksanakan pertanyaan dan mendapatkan ResultSet, anda mesti mengulanginya dan menutupnya secara eksplisit untuk mengeluarkan sumber sistem. Jika anda cuba melakukan sebarang operasi pada ResultSet tertutup, anda akan menghadapi pengecualian "Operasi tidak dibenarkan selepas ResultSet ditutup".

Penyelesaian:

Dalam yang disediakan kod, ralat berlaku dalam kelas MySQLDonation semasa melelaran melalui ResultSet yang dikembalikan oleh pertanyaan yang mendapatkan semula rekod derma. Khususnya, isu ini timbul kerana objek Pernyataan yang sama digunakan untuk melaksanakan pertanyaan Pilih dan untuk melaksanakan pertanyaan Padam berikutnya.

Pendekatan Disyorkan:

Untuk menyelesaikan masalah ini isu, buat objek Pernyataan baharu setiap kali anda melaksanakan pertanyaan, dan bukannya menggunakan semula pernyataan yang sama. Berikut ialah langkah-langkah untuk melaksanakan pendekatan ini:

  1. Alih keluar pernyataan = connection.createStatement(); baris daripada kaedah connect() dalam kelas MySQLDatabase.
  2. Ganti semua contoh pernyataan dalam kelas MySQLDatabase dengan connection.createStatement(). Sebagai alternatif, anda boleh memadamkan pembolehubah pernyataan peribadi sama sekali.

Dengan mengikuti langkah ini, anda memastikan bahawa setiap operasi pada ResultSet dilakukan menggunakan objek Pernyataan yang baru dibuat, sekali gus menghalang penutupan pramatang ResultSet. Pendekatan ini akan membenarkan kod memproses rekod derma dengan betul dan mengelakkan pengecualian "Operasi tidak dibenarkan selepas ResultSet ditutup".

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'Operasi Tidak Dibenarkan Selepas ResultSet Ditutup\' Pengecualian MySQL dalam Java JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan