从JTable中的列修改MySQL数据库[JAVA]

时间:2015-07-10 02:00:09

标签: java mysql swing jtable

我已经坚持了一个星期了。我认为它在Java中就像在PHP中一样容易。这是:

从数据库收集数据并将它们放入JTable后,我想添加一个可以编辑或删除JTable和数据库中的行的功能。这是我的代码

private void getEmployees(String Query){
    DefaultTableModel dm = new DefaultTableModel(0, 0){
        @Override
        public boolean isCellEditable(int row, int column) {
            return false;
        }
   };       
    String header[] = new String[] {"<html><b>ID</b></html>", "<html><b>Name</b></html>", 
                                    "<html><b>Birthday</b></html>", "<html><b>Department</b></html>", 
                                    "<html><b>Date Hired</b></html>", "<html><b>Position</b></html>" ,
                                    "<html><b>Modify</b></html>"
                                    };
    dm.setColumnIdentifiers(header);
    empList.setModel(dm);
    empList.setRowSelectionAllowed(false);
    try {
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/employee?zeroDateTimeBehavior=convertToNull","root","passwords");
        Statement stmt = conn.createStatement();
        ResultSet rs;
        rs = stmt.executeQuery(Query);
        while(rs.next()){
            Vector<Object> data = new Vector<Object>();
            data.add(rs.getString("id"));
            data.add(""+rs.getString("lName")+", "+rs.getString("fName"));
            data.add(rs.getString("bday"));
            data.add(rs.getString("dept"));
            data.add(rs.getString("dateHire"));
            data.add(rs.getString("position"));
            data.add("Delete");
            dm.addRow(data);
        }
    } 
    catch (Exception e) {
        System.err.println("Got an exception! ");
        System.err.println(e.getMessage());
    } 
}

请参阅data.add(&#34;删除&#34;)?我已经尝试过放置和href标签链接到一个功能,但显然它不起作用。我也试过在那里设置一个空函数,但它不接受无效。我也尝试过使用JButton和一个EventListener但是我一直迷失在我的轨道上。我很抱歉这些愚蠢的问题。我还是个初学者,希望了解更多。

0 个答案:

没有答案