我正在开发一个 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
请问有什么想法吗?
最佳答案
Type mismatch: cannot convert from TableModel to DefaultTableModel
您不能只将 TableModel
分配给 DefaultTableMOdel
。
假设DBUtils
创建一个DefaultTableModel
,那么您需要将TableModel
“转换”为DefaultTableModel
。
DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addColumn(...);
关于java - 使用 DbUtils 从 SQL 添加列到现有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35905018/