如何获取结果集的字符串值

时间:2018-07-20 14:45:25

标签: java jdbc

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

当我记录类型时,它打印为1003。有什么办法可以使字符串对应于1003?

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

1 个答案:

答案 0 :(得分:2)

您正在打印结果集类型,这可能不是您想要的。请检查ResultSet的API文档。专门针对ResultSet.getType(),返回值1003是常量ResultSet.TYPE_FORWARD_ONLY的值(有关值,请参见this documentation page)。

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

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);
    }
}

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