使用DbUtils从SQL向现有表添加列

时间:2016-03-09 23:53:12

标签: java mysql swing

我正在开发一个swing应用程序,我可以从数据库中获取数据并使用rs2xml.jar将其显示在表中。

这是我的代码:

try{ 
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/","","");
            PreparedStatement statement = con.prepareStatement("SELECT ID FROM table WHERE ID LIKE ? AND FullName LIKE ? AND Telephone LIKE ? AND Email LIKE ?" ); 
            statement.setString(1, '%'+ID1+'%');
            statement.setString(2, '%'+FullName1+'%');
            statement.setString(3, '%'+Telephone1+'%');
            statement.setString(4, '%'+Email1+'%');
            ResultSet set = statement.executeQuery();
            jTable1.setModel(DbUtils.resultSetToTableModel(set));

        }
        catch(SQLException ex){
            System.err.println("SQLException: " + ex.getMessage());
       }

现在,我需要使用其他Query在此现有表中添加一列。

我发现了这个GarrapuchoFootball但是我收到了这个错误: 类型不匹配:无法从TableModel转换为DefaultTableModel

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

类型不匹配:无法从TableModel转换为DefaultTableModel

您不能只将TableModel分配给DefaultTableMOdel

假设DBUtils创建了DefaultTableModel,那么您需要将TableModel“投射”到DefaultTableModel

DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addColumn(...);