0
我有'treinkoverzicht.java',它使得表格從我的SQL數據庫中獲取一些信息。當從數據庫刪除行時刷新頁面
您可以在AdminScherm.java中看到選擇查詢(請參閱下面的AdminScherm.java)。
問題是:如果我點擊刪除按鈕(稱爲:verwijder),它會刪除我的數據庫(刪除查詢)的記錄,當然沒問題。但它並不直接更新我的屏幕,因此它看起來像刪除的行仍在表和數據庫中。 像按((verwijder)刪除按鈕時直接刷新我的頁面一樣。
(treinkoverzicht.java),如下:/
@Override
public void actionPerformed(ActionEvent e) {
if ("Bekijk foto".equals(e.getActionCommand())) {
JButton btn = (JButton) e.getSource();
BekijkFoto b = new BekijkFoto(koeriers.get(Integer.parseInt(btn.getName())));
b.setVisible(true);z
} else if ("Verwijder".equals(e.getActionCommand())) {
JButton btn = (JButton) e.getSource();
int keuze1 = JOptionPane.showConfirmDialog(
this,
"Weet u zeker dat u deze treinkoerier wilt verwijderen?",
"Verwijderen",
JOptionPane.YES_NO_OPTION);
if (keuze1 == JOptionPane.YES_OPTION) {
try {
stmt = con.createStatement();
String verwijderenkoerier = "DELETE FROM coerier WHERE CoerierID=" + koeriers.get(Integer.parseInt(btn.getName())).getId();
stmt.executeUpdate(verwijderenkoerier);
stmt.close();
} catch (SQLException a) {
System.out.println("Statement kan niet worden uitgevoerd.");
}
}
}
}
只要的actionPerformed()變爲AdminScherm.java應該重新加載自己的查詢。
(AdminScherm.java),如下:/
treinO = new TreinKOverzicht(this);
String sqlkoerier = "SELECT * FROM coerier";
try {
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sqlkoerier);
while (rs.next()) {
int id = rs.getInt("CoerierID");//aangepast
String naam = rs.getString("FirstName");
String achternaam = rs.getString("LastName");
String email = rs.getString("Email");
int telefoonnummer = rs.getInt("Telephone");
int kmreward = rs.getInt("KmReward");
TreinKoerier t = new TreinKoerier(id, naam, achternaam, email, telefoonnummer, kmreward);//aangepast
treinO.voegTreinKToe(t);
}
} catch (SQLException sd) {
System.out.println("Statement kan niet worden uitgevoerd.");
}
treinO.printTabel();
感謝您的回答!我們要試試它。下次我們保持英語;) – voetbal93
好的,成功了! :P Als je nog vragen hebt hoor ik het graag。 P.S. Zou je het antwoord als'Answer'willen vinken? –