获取ResultSet的列名与数据放于hashtable[]或data[][]

获取数据库的数据,将其放入JTable.即data[][]中
DefaultTableModel dtm1 = new DefaultTableModel();
JTable tb1  = new JTable(dtm1);
JScrollPane sp1  = new JScrollPane(tb1);
   ResultSet rs = executeQuery( sqlCode ); //获得结果集
   int row = recCount( rs );    //获得结果集中有几行数据
    ResultSetMetaData rsm =rs.getMetaData(); //获得列集
    int col = rsm.getColumnCount();  //获得列的个数
   String colName[] = new String[col];
   //取结果集中的表头名称, 放在colName数组中
   for (int i = 0; i < col; i++) {   -->第一列,从1开始.所以获取列名,或列值,都是从1开始
     colName[i] = rsm.getColumnName( i + 1 );  -->获得列值的方式一:通过其序号
   }//End for
    rs.beforeFirst();
    String data[][] = new String[row][col];
   //取结果集中的数据, 放在data数组中
   for (int i = 0; i < row; i++) {
    rs.next();
    for (int j = 0; j < col; j++) {
     data[i][j] = rs.getString (j + 1);
     //System.out.println (data[i][j]);
       }
   }//End for
   fdtm.setDataVector (data, colName);
   
    //也可把ResultSet记录放于hashtable[]中
    Hashtable rs[]=new Hashtable[row];
   for (int i = 0; i < row; i++) {
       rs[i]=new Hashtable();
    rs.next();
    for (int j = 0; j < col; j++) {
      rs[i].put(colName[j],rs.getString(colName[j]))  -->获得列值的方式一:通过其列名
       }
   }

你可能感兴趣的:(职场,休闲)