如何验证 table 中的列是否存在

How to verify the existence of a column in table

我想在读取其值之前检查 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;
}