从数据库中删除行时刷新页面

时间:2015-05-21 08:33:01

标签: java database

我有' 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();

1 个答案:

答案 0 :(得分:0)

你需要删除" treinkoe​​rier"数据库查询后从表中手动。

BTW:保持你的代码与数据库相同,我更喜欢英文版!