0
jComboBox(変数名 "nama_supplier")にデータベース値を表示しようとしたときに、このエラーを修正するために2日以上前に検索しました。値がJComboBoxが、私は「nama_supplier」のデータが選択されたデータベース内の他の列をキャッチしたいことに登場した後、コードは次のようになります。また、"データベースがロックされています"というエラーが発生しました
private void pilih_supplier(){
java.sql.Connection koneksi = new DBKoneksi().konek();
try {
String sqlSupplier = "SELECT * FROM tabel_supplier ORDER BY nama_supplier asc";
PreparedStatement stmt = koneksi.prepareStatement(sqlSupplier);
ResultSet rqs=stmt.executeQuery();
while (rqs.next()) {
String pat = rqs.getString("nama_supplier");
nama_supplier.addItem(pat);
}
String select_supplier = (String) nama_supplier.getSelectedItem();
String sqlSelectSupplier = "SELECT * FROM tabel_supplier where nama_supplier = '"+select_supplier+"'";
PreparedStatement stmt1 = koneksi.prepareStatement(sqlSupplier);
ResultSet res=stmt1.executeQuery();
while (res.next()) {
String add1 = res.getString("kode_barang");
kode_barang.setText(add1);
String add2 = res.getString("nama_barang");
nama_barang.setText(add2);
String add3 = res.getString("harga");
harga.setText(add3);
}
//rqs.close();
//res.close();
//stmt1.close();
//koneksi.close();
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
rqs.close();
res.close();
stmt1.close();
koneksi.close(); //these 4 codes should remove the error, but it doesn't work
、私が使用しようとしたその4つのコードようやく中{}の試行後の方法{}が、それは
任意のいずれかを働いていなかった意志はまだこのフィックスコードで、2接続を使用しますが、私は2クラスでそれらを分離しています、この解決策を見つけた
のみ動作します最初の文 – Optional
イエスの接続を閉じた後、第2の文を実行し、それが問題です。私は両方の接続を分ける方法を知らない。別のtry {}でそれらを区切った場合、2番目のエラーは "シンボルを見つけることができません" – Jokurilisme
同じ接続を使用することができます。 https://stackoverflow.com/questions/12634266/can-i-use-same-jdbc-connection-statement-and-resultset-to-execute-two-queries-iここで、最初のクエリからレコードを取得し、閉じる結果セット/ステートメントは同じ接続を使用して別のレコードセットを検索します – Optional