我需要从数据库中检索一个double值,该值可能存储为null,因此我需要在检索它之前或之后检测它是否为null。但是,如果数据库中的值为null,则方法getDouble(" columnName")实际返回0。
我尝试过这里提供的解决方案无济于事(Android Studio说它无法解析wasNull()和getObject():
How do I in JDBC read a possibly null double value from resultSet?
以下是我迄今为止所做的尝试:
beer.setRating(beerObj.getDouble("myRating"));
if(beerObj.wasNull()){ //'Cannot resolve method wasNull'
}
而且:
Double doubleVal = (Double)beerObj.getObject("myRating"); //'Cannot resolve method getObject()'
我有其他属性,我正在使用getString(" otherColumnName")检索并正确检索,所以我认为beerObj也被正确检索。
在检索之前,是否有其他方法可以检查数据库中的double值是否为null?
答案 0 :(得分:1)
是的,请将其放在where子句中:"WHERE columnname is not null"
。如果有返回的记录,那么如果没有返回记录,那么它不是null
,而是null
。
答案 1 :(得分:0)
试试if (resultset.getObject("columnName") == null)
。如果您尝试使用getObject()
而不传入值,则很难从原始帖子中分辨出来。