package columns; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; public class ColumnCount { public static void main(String[] args) { try { Class.forName("org.postgresql.Driver"); Connection con = DriverManager.getConnection( "jdbc:postgresql:test", "postgres", "postgres"); Statement statement = con.createStatement(); ResultSet result = statement.executeQuery("SELECT * FROM employees"); // Über das ResultSetMetaData kann man jetzt auf // Informationen zu dem ResultSet zugreifen: Bspw. auf // die Anzahl der Spalten ... ResultSetMetaData resData = result.getMetaData(); int columnCount = resData.getColumnCount(); String temp; for (int i = 1; i <= columnCount; i++) { // ... oder auf den Spaltennamen temp = resData.getColumnName(i); // Um die Ausgabe tabellarisch zu formatieren, // nutzt das Programm die Information über die // Spaltenbreite while (temp.length() < 12 || temp.length() < resData.getColumnDisplaySize(i)) { temp += " "; } System.out.print(temp); } System.out.println(); // Nachdem nun die Kopfzeile ausgegeben ist // geht es nun Zeile fuer Zeile an die Daten while (result.next()) { for (int i = 1; i <= columnCount; i++) { temp = result.getString(i); if (temp == null) continue; while (temp.length() < 12 || temp.length() < resData.getColumnDisplaySize(i)) { temp += " "; } System.out.print(temp); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } } }