2014-11-05 110 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命令,其中的细节将取决于您的数据库和代码。

相关问题