1 package net.jaekl.squelch.stmt;
3 import java.sql.ResultSet;
4 import java.sql.ResultSetMetaData;
5 import java.sql.SQLException;
7 import net.jaekl.squelch.sql.Column;
8 import net.jaekl.squelch.sql.Row;
10 public class TabularResultSet extends Tabular {
11 private ResultSet m_resultSet;
12 private Column[] m_cols;
14 public TabularResultSet(ResultSet resultSet) {
15 m_resultSet = resultSet;
20 Column[] getCols() throws SQLException {
21 ResultSetMetaData metaData = m_resultSet.getMetaData();
22 int colCount = metaData.getColumnCount();
24 Column cols[] = new Column[colCount];
25 for (int idx = 1; idx <= colCount; ++idx) {
26 String label = metaData.getColumnLabel(idx);
27 Class<?> clazz = classForSqlType(metaData.getColumnType(idx));
28 int width = metaData.getColumnDisplaySize(idx);
29 cols[idx - 1] = new Column(label, clazz, width);
36 Row getNext() throws SQLException {
40 if (! m_resultSet.next()) {
44 Row row = new Row(m_cols.length);
45 for (int idx = 0; idx < m_cols.length; ++idx) {
46 row.setValue(idx + 1, m_resultSet.getObject(idx + 1));