我正在开发一个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/