#眉標=Java #副標=Java Code Generator #大標= DIY Generator #作者=文/歐宣修 法如下: -----box----- ResultSet rs = stmt.executeQuery(  "SELECT a, b, c FROM TABLE2"); ResultSetMetaData rsmd = rs.getMetaData(); -----end----- -----box----- #程式1 /** * 執行查詢 * @param master_db */ public void doQuery(String master_db) { data.clear(); Connection con = dao.getConnection(master_db); String user = dao.getUser(master_db); try {   //…(1) DatabaseMetaData dmd = con.getMetaData(); String[] tableTypes = {"TABLE"}; ResultSet rsTables = dmd.getTables(null, null , "%", tableTypes); //…(2) while (rsTables.next()) { //…(3) String table_name = rsTables.getString( "TABLE_NAME"); String comment = rsTables.getString( "REMARKS"); String schema = rsTables.getString( "TABLE_SCHEM"); String cat = rsTables.getString( "TABLE_CAT"); if (comment == null) comment = ""; HashMap map = new HashMap(); map.put("table_name",table_name); map.put("description",comment); data.add(map.clone()); } } catch (Exception ex) { log.error(ex); } this.fireTableChanged(null); } -----end----- -----box----- #程式2 Statement stmt = con.createStatement(); String sql = ""; //…(1) sql = "SELECT * FROM " + table_name + " WHERE 1 = 2 "; ResultSet rs = stmt.executeQuery(sql); // ResultSetMetaData rsmd = rs.getMetaData();//…(2) boolean is_have_data = rs.next(); int count = rsmd.getColumnCount(); columns = new String[count]; for (int i = 1; i <= count; i++) { String colName = rsmd.getColumnName(i). toLowerCase();//…(3) log.debug("colName=" + colName); int colType = rsmd.getColumnType(i); //…(4) log.debug("colType=" + colType); int nullAble = rsmd.isNullable(i); //…(5) log.debug("nullAble=" + nullAble); if (nullAble == 0) { col_null_able.put(colName, DBNullAble.NO); } else if (nullAble == 1) { col_null_able.put(colName, DBNullAble.YES); } else { col_null_able.put(colName, DBNullAble. UNKNOWN); } 以下略… } -----end----- -----box----- ant package -----end-----