0

我有一个数字类型的 sql 列 PROTOCOL。它可以为空,并且对表 PROTOCOL IN(1,2,3) 有一个约束。我可以设置为空。如果值为空,如何获取值?我可以做 rs.getInt() 但我不认为它返回 null?

if(protocol==0)
            {

               stmt.setNull(15, java.sql.Types.INTEGER);                

           }
            else{
            stmt.setInt(15, protocol);
            }
4

2 回答 2

4

使用wasNull()方法。

 Integer myValue = rs.getInt(15);
 if (rs.wasNull()) {
   myValue = null;
 }
于 2013-01-25T11:08:58.107 回答
3

我可以做 rs.getInt() 但我不认为它返回 null?

使用ResultSet.wasNull() aftergetInt()检查最后读取的列是否为 NULL。

或者,使用ResultSet.getObject()而不是,如果列是getInt(),则返回。nullNULL

于 2013-01-25T11:07:42.330 回答