在读取值之前,我想检查DateTimeCheck列是否存在:

private void parseResultSet(ResultSet ride) {
  if (ride.getDate("DateTimeCheck") != null)
            this.RideDate = df.format(ride.getDate("DateTimeCheck"));

}

此代码仍然提供此错误:
java.sql.SQLException: Column 'DateTimeCheck' not found.

怎么解决?

最佳答案

可以使用ResultSetMetadata检查列的存在性。

private static boolean hasColumn (RestultSet rs, String column) {
    RestulSetMetaData md = rs.getMetaData();
    int colCount = md.getColumnCount();
    for (int i = 1; i <= colCount; ++i) { // Note that column indexes are 1-based
        if (column.equalsIgnoreCase(rs.getColumnName(i))) {
            return true;
        }
    }
    return false;
}

10-04 11:48