2014-11-05 108 views
0

我需要從jtable中顯示的數據庫中刪除特定的行。我想在刪除按鈕上添加動作偵聽器。但我對Java編程很陌生,所以面臨問題。 enter image description here如何在選擇複選框時從jtable和數據庫中刪除一行?

我的表的代碼如下...

rt= st.executeQuery("SELECT * FROM login"); 
     DefaultTableModel model=(DefaultTableModel) usertable.getModel(); 
     while(rt.next()){ 
      username = rt.getString(2); 
      firstname = rt.getString(5); 
      lastname = rt.getString(6); 
      emailid = rt.getString(1); 
      accounttype = rt.getString(4); 
      model.addRow(new Object[] {username, firstname, lastname, emailid, accounttype}); 
+0

請在此鏈接http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html瞭解的ActionListener也很清楚你的問題,你是否要刪除的複選框選中的行或者點擊按鈕點擊 – 2014-11-05 19:27:33

+0

從JTable中刪除確實意味着從表格的TableModel中刪除。如果你自己創建了模型,那麼你的模型可能會有這樣的方法,然後該方法將調用從AbstractTableModel父項繼承的火災通知方法。如果你沒有創建一個模型,那麼你可能使用了一個DefaultTableModel,並且會調用它的'removeRow(...)'方法。 – 2014-11-05 19:27:59

+0

至於數據庫,您將創建並執行一個PreparedStatement,其中包含一個DELETE命令,並且可以通過一個Google搜索來找到詳細信息,這是我**高度**建議您執行的操作(可能在甚至來到此處之前題)。 – 2014-11-05 19:29:34

回答

1

刪除從JTable的真正含義從表的TableModel中刪除。如果您自己創建了模型,那麼您的模型可能會有方法來執行此操作,然後該方法將調用火災通知方法,此處繼承自AbstractTableModel父項的fireTableRowsDeleted(...)。如果您沒有創建模型,那麼您可能使用的是DefaultTableModel,並稱其爲removeRow(...)方法。

至於數據庫,您將創建並執行一個PreparedStatement,其中包含DELETE命令,其中的細節將取決於您的數據庫和代碼。

相關問題