Могу ли я получить имя таблицы в форме запроса выбора соединения 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);

Также см. Документы.

Другие вопросы по тегам