簡體   English   中英

如何從綁定的JTable中刪除行?

[英]How to delete row from bound JTable?

我有一個綁定到MySQL的JTable 我已經完成了插入數據的代碼。

但是我不知道如何刪除。

我有此示例刪除方法可在其他簡單項目中使用。

public String deleteItem(String name) {

    String answer = "";
    try {
        Connection con = Connect.getConnection();
        String sql = "Delete FROM item where name = ?";
        PreparedStatement ps = con.prepareStatement(sql);
        ps.setString(1, name);

        ps.executeUpdate();

        ps.close();
        con.close();

        answer = "OK";
    } catch (Exception e) {
        answer = e.toString();
    }

    return answer;
}

即使當我使用一個未綁定的表時,我也已經從jtable刪除了這一行,這對我來說非常有用

但是現在它是一個與MySQL綁定的表,我找不到刪除行的方法...已經在互聯網上搜索到了。 一無所獲。

PS:我正在使用netbeans。 我右鍵單擊jtable> bind> elements來綁定表。

哦,我找到了辦法!

首先,我更改了deleteItem方法,以按ID刪除

ItemDAO.java

public String deleteItem(int ID_item) {

    String answer = "";
    try {
        Connection con = Connect.getConnection();
        String sql = "Delete FROM item where ID_Item = ?";
        PreparedStatement ps = con.prepareStatement(sql);
        ps.setInt(1, ID_item);

        ps.executeUpdate();

        ps.close();
        con.close();

        answer = "OK";
    } catch (Exception e) {
        answer = e.toString();
    }

    return answer;
}

然后刪除按鈕中的操作將如下所示。

Form.java

private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                           
     int column = 0;    // get the first column which is ID_Item
     int row = tableItem.getSelectedRow();  //get row selected by user
     int value = (int) tableItem.getModel().getValueAt(row, column); // store ID_Item value
     String answer = new ItemDAO().deleteItem(value);  // call up deleteItem method

     if(answer.equals("OK")) {
         System.out.println("OK"); // just for test
         itemList.clear();    // this is needed to update the bound table after Insert/Delete/Update etc
         itemList.addAll(itemQuery.getResultList()); // same as above comment
     }else{
         System.out.println("ERROR"); // just for test.
     } 

也許這並不是最漂亮的方法,但它確實有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM