我可以在连接选择查询表单ResultSetMetaData中获取表名称

时间:2013-10-07 12:10:58

标签: java jdbc resultset infomaker

我是否可以从

ResultSetMetaData
获取表名称查询是多个表的连接

示例

从table1,table 2中选择*

当我要尝试从

ResultSetMetaData
检索表名时,我总是找到空值。

注意:我使用的是informix驱动程序

2 个答案:

答案 0 :(得分:1)

基于Informix JDBC Guide,如果查询访问多个表并且将返回单个空格,则驱动程序无法检索表名:

  

ResultSetMetaData.getTableName()

     

返回SELECTINSERTUPDATE语句的表名

     带有多个表名的

SELECT语句和所有其他语句都返回一个包含一个空格的String对象。

来自:Unsupported methods and methods that behave differently

答案 1 :(得分:0)

您应该将它与列号参数一起使用,所以尝试类似

的内容
String table1 = rs.getMetaData().getTableName(someColumnNumberFromFirstTable);    
String table2 = rs.getMetaData().getTableName(someColumnNumberFromSecondTable);

另见docs