Rumah >pangkalan data >tutorial mysql >Mengapa Kod JDBC Java Saya Membuang \'Operasi tidak dibenarkan selepas ResultSet ditutup\'?
Anda menghadapi pengecualian Java JDBC MySQL disebabkan kod berikut:
Statement statement; public void connect() { statement = connection.createStatement(); }
Penjelasan Ralat:
Tokoh penyata dikongsi antara semua operasi pangkalan data. Apabila anda melaksanakan pertanyaan SELECT, ia mengembalikan objek ResultSet. Sebaik sahaja ResultSet ditutup (sama ada secara eksplisit atau tersirat), sebarang operasi lanjut pada pernyataan akan gagal dengan pengecualian "Operasi tidak dibenarkan selepas ResultSet ditutup."
Penyelesaian:
Untuk menyelesaikan isu ini, cipta objek Pernyataan baharu untuk setiap operasi pangkalan data, seperti sebagai:
public ResultSet query(String query) throws SQLException { if (query.toLowerCase().startsWith("select")) { return connection.createStatement().executeQuery(query); } else { connection.createStatement().executeUpdate(query); } return null; }
Ini memastikan Penyata baharu digunakan untuk setiap pertanyaan, menghalang isu penutupan ResultSet daripada menjejaskan operasi seterusnya.
Atas ialah kandungan terperinci Mengapa Kod JDBC Java Saya Membuang \'Operasi tidak dibenarkan selepas ResultSet ditutup\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!