我有' treinkoverzicht.java'这使得一个表从我的SQL数据库中获取一些信息。
您可以在AdminScherm.java中看到select查询(请参阅:下面的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();
答案 0 :(得分:0)
你需要删除" treinkoerier"数据库查询后从表中手动。
BTW:保持你的代码与数据库相同,我更喜欢英文版!