从数据库查出来的数据放在List中,现在要显示在jtable中,不知道该如何显示了?还要考虑修改单元格中的数据后,再把List传回数据库... TableMode中该如何写?有没有做过的,提个意见... 我的数据显示后,与表头不对应了...
1条回答 默认 最新
- joelle(喬如) 2014-10-09 10:07关注
这是一个JTable 动态SQL语句查询的代码片段:
[code="java"]
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton1ActionPerformed
ResultSet rs = DBUtil.executeQuery(textField1.getText());//执行SQL语句
// jTable1 = new JTable();
try {
List> ls = new ArrayList>();
List column = new ArrayList();
ResultSetMetaData rsm = rs.getMetaData();//获取表元数据
for (int i = 1; i < rsm.getColumnCount()+1; i++) {
column.add(rsm.getColumnName(i));
}
while (rs.next()) {
List result = new ArrayList();
for (int i = 1; i < rsm.getColumnCount()+1; i++) {
result.add(rs.getObject(i));
}
ls.add(result);
}Object[][] obj = new Object[ls.size()][column.size()]; for (int i = 0; i < ls.size(); i++) { List<Object> a = ls.get(i); for (int j = 0; j < column.size(); j++) { System.out.println(a.get(j)); obj[i][j] = a.get(j); } } jTable1.setModel(new DefaultTableModel(obj,column.toArray(new String[column.size()]))); } catch (Exception e) { e.printStackTrace(); } }
[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报