如何在Java中检查JDBC表中的某些列是否为空

如何在Java中检查JDBC表中的某些列是否为空,java,sql,database,netbeans,jdbc,Java,Sql,Database,Netbeans,Jdbc,我需要检查我的表中的字段是否为空(null),如果为空,则执行特定任务;如果没有,做些不同的事情。我尝试了rs.wasNull()并得到错误“调用wasNull()时未检索到数据”。还有其他方法吗?您需要首先从rs中获取值,例如在调用rs.wasNull()之前,使用rs.getInt(“col1”),您需要首先从rs中获取值,例如在调用rs.wasNull()之前,使用rs.getInt(“col1”)另一种方法rs.wasNull()是最好的方法。但是如果你坚持。。。根据JDBC驱动程序的实

我需要检查我的表中的字段是否为空(null),如果为空,则执行特定任务;如果没有,做些不同的事情。我尝试了rs.wasNull()并得到错误“调用wasNull()时未检索到数据”。还有其他方法吗?

您需要首先从
rs
中获取值,例如在调用
rs.wasNull()之前,使用
rs.getInt(“col1”)
,您需要首先从
rs
中获取值,例如在调用
rs.wasNull()之前,使用
rs.getInt(“col1”)

另一种方法
rs.wasNull()
是最好的方法。但是如果你坚持。。。根据JDBC驱动程序的实现(因供应商数据库而异),您可以执行以下操作:

Object decimalDigits = rs.getObject("DECIMAL_DIGITS");
if (decimalDigits == null) {
    // do something
}

另一种方法
rs.wasNull()
是最好的方法。但是如果你坚持。。。根据JDBC驱动程序的实现(因供应商数据库而异),您可以执行以下操作:

Object decimalDigits = rs.getObject("DECIMAL_DIGITS");
if (decimalDigits == null) {
    // do something
}

调用
rs.getInt()
之前必须调用
rs.next()
。调用
rs.getInt()
之前必须调用
rs.next()