我有一个数字类型的SQL列PROTOCOL。它可以为空并且对表有约束 PROTOCOL IN(1,2,3)。我可以设置为null。如果null为null,如何获取值? 我可以做rs.getInt(),但我不认为它返回null?
if(protocol==0)
{
stmt.setNull(15, java.sql.Types.INTEGER);
}
else{
stmt.setInt(15, protocol);
}
答案 0 :(得分:5)
使用wasNull()
方法。
Integer myValue = rs.getInt(15);
if (rs.wasNull()) {
myValue = null;
}
答案 1 :(得分:3)
我可以做rs.getInt(),但我不认为它会返回null?
在getInt()
之后使用ResultSet.wasNull()检查最后一列是否为NULL。
或者,使用ResultSet.getObject()代替getInt()
,如果列为null
,则返回NULL
。