日期:2014-05-18  浏览次数:21055 次

ResultSetMetaData的getTableName()返回的表明总是空值怎么解决?
我的的数据库是oracle

部分代码:
ResultSet rs=db.getRs(sql+order);
ResultSetMetaData rsmd = rs.getMetaData();
int lie=rsmd.getColumnCount();
out.print(rsmd.getTableName(2)+"dfd");


测试结果至显示

dfd

没有报错

------解决方案--------------------
多贴出点东西 sql order 具体 具体
------解决方案--------------------
说明没有可用的称啊
错都没报还有其他可能吗?
------解决方案--------------------
Oracle 驱动程序可在 Select 语句的 ResultSet 元数据中返回表名信息。通过将 ResultSetMetaDataOptions 属性设置为 1,Oracle 驱动程序执行附加处理,以便在调用 ResultSetMetaData.getTableName() 方法时为结果集中的每列确定正确的表名。否则,getTableName() 方法可能对结果集中的每一列都返回空字符串。 
在将 ResultSetMetaDataOptions 属性设置为 1 且调用 ResultSetMetaData.getTableName() 方法时,Oracle 驱动程序返回的表名信息与结果集中的列是否映射到数据库中的表列有关。对于每个映射到数据库中表列的结果集中的列,Oracle 驱动程序返回与该列相关联的表名。对于那些没有映射到表列的结果集中的列(比如聚合和字面值),Oracle 驱动程序返回一个空字符串。