Могу ли я получить имя таблицы в форме запроса выбора соединения ResultSetMetaData
Могу ли я получить имя таблицы от
ResultSetMetaDataзапрос является объединение нескольких таблиц
пример
выберите * из таблицы 1, таблицы 2
когда я собираюсь попытаться получить имя таблицы из
ResultSetMetaDataЯ всегда нахожу пустое значение.
Примечание: я использую informix
Водитель
2 ответа
Решение
Основываясь на Руководстве по JDBC Informix, драйвер не может извлечь имя таблицы, если запрос обращается к более чем одной таблице и вместо этого вернет один пробел:
ResultSetMetaData.getTableName()
Возвращает имя таблицы для
SELECT
,INSERT
, а такжеUPDATE
заявления
SELECT
операторы с более чем одним именем таблицы и все другие операторы возвращаютString
объект, содержащий один пробел.
От: неподдерживаемые методы и методы, которые ведут себя по-разному
Вы должны использовать его вместе с параметром номера столбца, поэтому попробуйте что-то вроде
String table1 = rs.getMetaData().getTableName(someColumnNumberFromFirstTable);
String table2 = rs.getMetaData().getTableName(someColumnNumberFromSecondTable);
Также см. Документы.