如何检查结果集是否包含专门命名的字段?

2022-09-01 11:36:18

有一个java.sql.ResultSet的实例,如何检查它是否包含一个名为“theColumn”的列?rs


答案 1

可以使用 ResultSetMetaData 循环访问列,并查看列名是否与指定的列名匹配。ResultSet

例:

ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();

// get the column names; column indexes start from 1
for (int i = 1; i < numberOfColumns + 1; i++) {
    String columnName = rsMetaData.getColumnName(i);
    // Get the name of the column's table name
    if ("theColumn".equals(columnName)) {
        System.out.println("Bingo!");
    }
}

答案 2

尝试使用方法 ResultSet#findColumn(String)

private boolean isThere(ResultSet rs, String column)
{
  try
  {
    rs.findColumn(column);
    return true;
  } catch (SQLException sqlex)
  {
    logger.debug("column doesn't exist {}", column);
  }
  return false;
}

推荐