我想知道是否有一种简单的方法可以知道我从不属于我的某些API中获得的结果集的类型?
当我记录类型时,它打印为1003。有什么办法可以使字符串对应于1003?
rs = st.executeQuery(sql);
System.out.println(rs.getType());
答案 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);
}
}
然后使用此方法将类型代码转换为字符串。