Java 结果集 - 根据索引获取列名
我想知道是否有办法根据 resultSet 中的索引获取列名。
我知道,如果你想根据列Name获取索引,你可以通过使用
int index = resultSet.findColumn(columnName);
但是我需要相反的方式,比如:
String column = resultSet.findColumnName(index);
可能吗?
我想知道是否有办法根据 resultSet 中的索引获取列名。
我知道,如果你想根据列Name获取索引,你可以通过使用
int index = resultSet.findColumn(columnName);
但是我需要相反的方式,比如:
String column = resultSet.findColumnName(index);
可能吗?
我认为您需要查看 ResultSet.getMetaData(),
它返回与 .ResultSet
然后,您可以循环访问列(使用 getColumnCount()
找出有多少列)以查找具有给定名称的列,并使用 getColumnName() 进行
检查。不要忘记,列索引是从 1 开始的,而不是从 0 开始的。像这样:
ResultSetMetaData metaData = resultSet.getMetaData();
int count = metaData.getColumnCount();
for (int i = 1; i <= count; i++)
{
if (metaData.getColumnName(i).equals(desiredColumnName))
{
// Whatever you want to do here.
}
}
如果您需要为许多名称执行此操作,则可能需要构建一个可以轻松映射它们。HashMap<String, Integer>
当然 - 使用java.sql.ResultSetMetaData。
ResultSetMetaData meta = resultSet.getMetaData();
String column = meta.getColumnName(index);