如何确定ResultSet中是否存在列名?

由于ResultSet包含从动态SQL返回的数据,是否有任何方法可以确定ResultSet是否包含特定的列名?例如,如果我运行rs.getString("Column_ABC");但Column_ABC确实不存在,它将抛出异常。如何测试ResultSet是否可以从名为“

Column_ABC”的列中获取数据?

回答:

public static boolean hasColumn(ResultSet rs, String columnName) throws SQLException {

ResultSetMetaData rsmd = rs.getMetaData();

int columns = rsmd.getColumnCount();

for (int x = 1; x <= columns; x++) {

if (columnName.equals(rsmd.getColumnName(x))) {

return true;

}

}

return false;

}

我不明白的是为什么会需要此功能。正在执行的查询或存储过程应具有已知结果。查询的列应该是已知的。需要这样的功能可能表明某处存在设计问题。

以上是 如何确定ResultSet中是否存在列名? 的全部内容, 来源链接: utcz.com/qa/404476.html

回到顶部