package org.greenstone.accessdb; import java.util.ArrayList; import java.sql.*; public class JDBCBase { // Name of the table inside the MS Access DB final static String TABLE_NAME = "WAIKATO_INDEPENDENT"; public static ArrayList getColumnLabels(Connection connection, String table_name) { // Read in column labels into ArrayList ArrayList column_labels = null; try { Statement st = connection.createStatement(); ResultSet rs = st.executeQuery("SELECT * from " + table_name); ResultSetMetaData rs_md = rs.getMetaData(); int columnCount = rs_md.getColumnCount(); column_labels = new ArrayList(columnCount); for (int i=1; i<=columnCount; i++) { String heading = rs_md.getColumnLabel(i); column_labels.add(heading); // add even if null, so can keep count if (heading == null) { System.err.println("*** Encountered null column label at column postion: " + i); } } } catch (Exception e) { e.printStackTrace(); } return column_labels; } public static void printDatabaseMetadata(Connection connection) { try { System.out.println("----"); System.out.println("Database Table Names"); System.out.println("----"); DatabaseMetaData dbmd = connection.getMetaData(); String[] types = {"TABLE"}; ResultSet rs = dbmd.getTables(null, null, "%", types); while (rs.next()) { System.out.println(rs.getString("TABLE_NAME")); } System.out.println("----"); } catch (SQLException e) { e.printStackTrace(); } } public static void printTable(Connection connection, String table_name) { try { Statement st = connection.createStatement(); ResultSet rs = st.executeQuery("SELECT * from " + table_name); ResultSetMetaData rs_md = rs.getMetaData(); int columnCount = rs_md.getColumnCount(); // Iterate through the data in the result set and display it. System.out.println("----"); System.out.println("Table: " + table_name); System.out.println("----"); for(int i = 1; i <= columnCount; i++) { System.out.print(rs_md.getColumnLabel(i)+ "|"); } System.out.println(); while (rs.next()) { for(int i = 1 ; i <= columnCount; i++){ System.out.print(rs.getString(i)); if (i != columnCount) { System.out.print(","); } } System.out.println(); } System.out.println("----"); } catch (Exception e) { e.printStackTrace(); } } }