首页 > 解决方案 > 如何获取结果集的字符串值

问题描述

我想知道是否有一种简单的方法可以知道我从某些不属于我的 API 获得的结果集的类型?

当我记录类型时,它打印为 1003。有没有办法让我得到对应于 1003 的字符串?

rs = st.executeQuery(sql);
System.out.println(rs.getType());

标签: javajdbc

解决方案


您正在打印结果集类型,这可能不是您想要的。请查看 API 文档ResultSet。特别是对于ResultSet.getType(),返回的值 1003 是常量的值ResultSet.TYPE_FORWARD_ONLY(有关值,请参阅此文档页面)。

鉴于您没有解释您想要实现的目标,我不确定您需要做什么。如果您真的想打印结果集类型,那么您可以执行以下操作:

private String getResultSetTypeName(int resultSetType) {
    switch (resultSetType) {
    case ResultSet.TYPE_FORWARD_ONLY:
        return "TYPE_FORWARD_ONLY";
    case ResultSet.TYPE_SCROLL_INSENSITIVE:
        return "TYPE_SCROLL_INSENSITIVE";
    case ResultSet.TYPE_SCROLL_SENSITIVE:
        return "TYPE_SCROLL_SENSITIVE";
    default:
        throw new IllegalArgumentException("Invalid result set type value: " + resultSetType);
    }
}

然后使用此方法将类型代码转换为字符串。


推荐阅读