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