X-Git-Url: http://jaekl.net/gitweb/?p=squelch.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fjaekl%2Fsquelch%2Fstmt%2FTabularResultSet.java;h=f8e233c4061335bf186afdd7c9f808ce32a96164;hp=92da23dc1872f9b4764a65eabb21fbbbe89f4129;hb=dde7f6828b7e2fc479d2285754e4a150be7958a5;hpb=dad47827334a0732966cc197dfe1e3ac303fb694 diff --git a/src/main/java/net/jaekl/squelch/stmt/TabularResultSet.java b/src/main/java/net/jaekl/squelch/stmt/TabularResultSet.java index 92da23d..f8e233c 100644 --- a/src/main/java/net/jaekl/squelch/stmt/TabularResultSet.java +++ b/src/main/java/net/jaekl/squelch/stmt/TabularResultSet.java @@ -9,9 +9,11 @@ import net.jaekl.squelch.sql.Row; public class TabularResultSet extends Tabular { private ResultSet m_resultSet; + private Column[] m_cols; public TabularResultSet(ResultSet resultSet) { m_resultSet = resultSet; + m_cols = null; } @Override @@ -26,13 +28,24 @@ public class TabularResultSet extends Tabular { int width = metaData.getColumnDisplaySize(idx); cols[idx - 1] = new Column(label, clazz, width); } - + m_cols = cols; return cols; } @Override - Row getNext() { - // TODO Auto-generated method stub - return null; + Row getNext() throws SQLException { + if (null == m_cols) { + m_cols = getCols(); + } + if (! m_resultSet.next()) { + return null; + } + + Row row = new Row(m_cols.length); + for (int idx = 0; idx < m_cols.length; ++idx) { + row.setValue(idx + 1, m_resultSet.getObject(idx + 1)); + } + + return row; } }