我想知道是否有一种方法可以从resultSet获取基于索引的列名。
我知道如果您想要获得基于columnName的索引,您可以使用
int index = resultSet.findColumn(columnName);
但我需要另一种方式,比如:
String column = resultSet.findColumnName(index);
有可能吗?
发布于 2011-06-20 17:44:41
我认为您需要看看ResultSet.getMetaData()
,它返回与ResultSet
相关的元数据。
然后,您可以使用getColumnName()
遍历这些列(使用getColumnCount()
查找有多少列),以找到具有给定名称的列。不要忘记,列索引是从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>
来轻松地映射它们。
发布于 2011-06-20 17:44:35
当然-使用java.sql.ResultSetMetaData。
ResultSetMetaData meta = resultSet.getMetaData();
String column = meta.getColumnName(index);
发布于 2011-06-20 17:44:49
resultSet.getMetaData().getColumnName(index);
https://stackoverflow.com/questions/6409371
复制相似问题