我正在开发一个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());
       }


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

我发现了这个answer,但出现了这个错误:
类型不匹配:无法从TableModel转换为DefaultTableModel

有任何想法吗?

最佳答案

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


您不能仅将TableModel分配给DefaultTableMOdel

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

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

关于java - 使用DbUtils从SQL向现有表添加列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35905018/

10-10 18:43