Язык SQL

Извлечение метаданных результирующего множества и манипулирование ними


Для каждого объекта ResultSet имеется связанный с ним объект ResultSetMetaData, содержащий информацию о типах и свойствах столбцов объекта ResultSet. Метод getMetaData возвращает в качестве результата этот объект метаданных:

ResultSetMetaData meta = result.getMetaData();

Из объекта meta можно узнать количество столбцов (с помощью метода numColumns), имя (с помощью метода getColumnName) и тип столбца (методы getColumnType и getColumnTypeName). На 8.8 приведен код Java, позволяющий распечатать имена и типы всех столбцов результата.

for (int col=l; col<=meta.getColumnCount (); col++) {

int type = meta.getColumnType(col);

String typeName = meta.getColumnTypeName(col);

String name = meta.getColumnName(col);

System.out.println("Column "+name+" is JDBC type"+type+

"which is called "+typeName);

Результат выполнения приведенного на 8.8 кода для запроса Select  from TimeCard к базе данных компании BigHitVideo в системе Access выглядит следующим образом.

Column ssn is JDBC type 12 which is called TEXT

Column date is JDBC type 93 which is called DATETIME

Column startTime is JDBC type 93 which is called DATETIME

Column endTime is JDBC type 93 which is called DATETIME

Column storeld is JDBC type 4 which is called LONG

Column paid is JDBC type -7 which is called BIT

Помимо этого, можно получить множество другой информации о каждом столбце, в частности предлагаемое обозначение столбца, отображаемый размер, точность, масштаб, имя таблицы и имя схемы.

Комментарии закрыты