X-Git-Url: http://jaekl.net/gitweb/?p=squelch.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fjaekl%2Fsquelch%2Fstmt%2FSelect.java;h=afad262856bfec4d0c834951fa778c7573cbe1b1;hp=6d89af5c293c6dbf237e3f8dadf7b170013c7bb7;hb=dad47827334a0732966cc197dfe1e3ac303fb694;hpb=7fdeab39832c2339711250dfb0a9a5c531ab7033 diff --git a/src/main/java/net/jaekl/squelch/stmt/Select.java b/src/main/java/net/jaekl/squelch/stmt/Select.java index 6d89af5..afad262 100644 --- a/src/main/java/net/jaekl/squelch/stmt/Select.java +++ b/src/main/java/net/jaekl/squelch/stmt/Select.java @@ -5,12 +5,9 @@ import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.Locale; -import net.jaekl.squelch.sql.Column; - public class Select extends Query { @Override @@ -38,49 +35,13 @@ public class Select extends Query { } return rowCount; } - - private Column[] getColumns(ResultSetMetaData metaData) - throws SQLException, ClassNotFoundException - { - int colCount = metaData.getColumnCount(); - - Column cols[] = new Column[colCount]; - for (int idx = 1; idx <= colCount; ++idx) { - String label = metaData.getColumnLabel(idx); - Class clazz = Class.forName(metaData.getColumnTypeName(idx)); - int width = metaData.getColumnDisplaySize(idx); - cols[idx] = new Column(label, clazz, width); - } - - return cols; - } - + private int printFormatted(PrintWriter pw, ResultSet rs) throws IOException, SQLException { - try { - ResultSetMetaData metaData = rs.getMetaData(); - int rowCount = 0; - Column[] cols = getColumns(metaData); - - pw.println("----------------------------------"); - for (int idx = 1; idx <= cols.length; ++idx) { - pw.print("|" + cols[idx - 1].getLabel()); - } - pw.println("|"); - - while (rs.next()) { - for (int idx = 1; idx <= cols.length; ++idx) { - pw.print("|" + rs.getObject(idx)); - } - pw.println("|"); - } - pw.println("----------------------------------"); - pw.println("" + rowCount + " row(s) returned."); - - return rowCount; - } - catch (ClassNotFoundException exc) { - throw new SQLException(exc); - } + TabularResultSet trs = new TabularResultSet(rs); + int rowCount = trs.printTable(pw); + pw.flush(); + + return rowCount; } }