日期:2014-05-20 浏览次数:20971 次
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数组
------解决方案--------------------