首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java ResultSet -根据索引获取列名

Java ResultSet -根据索引获取列名
EN

Stack Overflow用户
提问于 2011-06-20 17:41:46
回答 5查看 52.1K关注 0票数 20

我想知道是否有一种方法可以从resultSet获取基于索引的列名。

我知道如果您想要获得基于columnName的索引,您可以使用

代码语言:javascript
复制
int index = resultSet.findColumn(columnName);

但我需要另一种方式,比如:

代码语言:javascript
复制
String column = resultSet.findColumnName(index);

有可能吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-20 17:44:41

我认为您需要看看ResultSet.getMetaData(),它返回与ResultSet相关的元数据。

然后,您可以使用getColumnName()遍历这些列(使用getColumnCount()查找有多少列),以找到具有给定名称的列。不要忘记,列索引是从1开始的,而不是从0开始。类似于:

代码语言:javascript
复制
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>来轻松地映射它们。

票数 41
EN

Stack Overflow用户

发布于 2011-06-20 17:44:35

当然-使用java.sql.ResultSetMetaData

代码语言:javascript
复制
ResultSetMetaData meta = resultSet.getMetaData();
String column = meta.getColumnName(index);
票数 7
EN

Stack Overflow用户

发布于 2011-06-20 17:44:49

代码语言:javascript
复制
resultSet.getMetaData().getColumnName(index);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6409371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档