2012-06-14 5 views
0

Я делаю очень простое приложение, чтобы отображать содержимое таблицы базы данных на веб-странице, и поэтому я хотел бы пройти через ResultSet и придерживать содержимое каждой ячейки между <td> теги и т.д ..Как получить данные из ResultSet без явно

Проблема заключается в том, что таблицы могут быть довольно большими, и я не хочу использовать явный GetString(), GetInt(), getXXX() методы. Вместо этого было бы лучше использовать метод ResultSetMetaDatagetColumnType() как параметр для более общего метода ResultSet getData(<columName>, <type>), но, похоже, он не существует.

Возможно ли это? Я иду об этом по-другому, или я далеко от базы?

ответ

1

Существует метод getObject(), но вам все равно придется бросать результирующий объект, если только они не являются строками и ints, которые не нуждаются в специальном форматировании. В этом случае вы просто проверяете его на null и вызываете toString(), если он действителен.

http://docs.oracle.com/javase/1.4.2/docs/api/java/sql/ResultSet.html#getObject(int)

+0

imbric может создать класс-оболочку, которая принимает GetObject() в конструкторе и обеспечивает стандартный метод getDataString() для форматирования каждого из типов SQL. –

+0

Данные - это просто строки и ints, так что это сработает. Спасибо. Просто странно, что вы сможете программно получить тип столбца, но не сможете использовать его для поиска таким образом. – imbric

+0

@imbric Ну, вы всегда можете вызвать getString() и получить строковое представление. Это просто, что на статически типизированном языке, таком как Java, вы мало что можете сделать со значением, если не знаете, какой тип он находится во время компиляции. Рано или поздно кто-то должен бросить его, чтобы они могли использовать NumberFormatter или что-то еще, или просто вызвать toString() на нем. –

Смежные вопросы