日期:2014-05-20 浏览次数:20781 次
public JTable createTableFromSQL(Connection connection,String sql , Object[] name)throws Exception{ Statement stmt = connection.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,// 对滚动不敏感,结果集可滚来滚去 ResultSet.CONCUR_READ_ONLY);// 只能够读取里边的内容, ResultSet rs = stmt.executeQuery(sql);//开始执行查询语句,结果存储在rs中 rs.last();// 指到定位到最后一行 int row = rs.getRow();// 获得总行数 rs.beforeFirst();// 定位到开始 ResultSetMetaData rsmd1 = rs.getMetaData();// 计算字段个数 int col = rsmd1.getColumnCount(); // 计算字段个数 Object a[][] = new Object[row][col];//确定表格存储数据的大小 JTable jTable = new JTable(a, name);//建立表格 for (int index = 0; rs.next(); index++)//使用查询返回的结果初始化表格 for (int j = 0; j < col; j++) a[index][j] = rs.getString(j + 1); return jTable; }
------解决方案--------------------
建个类,如下,一个列就是一个对象
public class Field{ private String name; private String value; setter/getter }
------解决方案--------------------
//输入:connection对象,sql语句,由结果各字段名组成的name数组
------解决方案--------------------