[英]Refresh page when delete row from database
I have 'treinkoverzicht.java' which makes an table what get some information from my SQL database. 我有“ treinkoverzicht.java”,它使一个表从我的SQL数据库中获取一些信息。
You can see the select query in AdminScherm.java (see: AdminScherm.java below). 您可以在AdminScherm.java中看到选择查询(请参阅下面的AdminScherm.java)。
The problem is: If i'm click on the delete button(called: verwijder), it deletes the record out of my database (Delete query), that is ok of course. 问题是:如果我单击删除按钮(称为verwijder),它将记录从我的数据库中删除(删除查询),这当然可以。 But it doesn't update my screen directly, so it looks like the deleted row is still in the table and database.
但是它不会直接更新我的屏幕,因此看起来删除的行仍在表和数据库中。 Like a refresh of my page direct when you push the (verwijder) delete button.
就像在按下(verwijder)删除按钮时直接刷新页面一样。
(treinkoverzicht.java) , below: / (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.");
}
}
}
}
As soon as the actionPerformed() goes in AdminScherm.java should reload his queries. 一旦actionPerformed()进入AdminScherm.java,它将重新加载他的查询。
(AdminScherm.java) , below: / (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();
You need to remove the "treinkoerier" manually from the table after the database query. 查询数据库后,需要从表中手动删除“ treinkoerier”。
BTW: Keep your code the same as your database, I prefer both in english! 顺便说一句:保持您的代码与数据库相同,我更喜欢用英语!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.