【发布时间】:2015-08-25 20:20:00
【问题描述】:
我需要从数据库中检索一个双精度值,它可能存储为空值,因此我需要在检索它之前或之后检测它是否为空值。但是,如果数据库中的值为 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 也已正确检索。
是否有其他方法可以在检索之前检查数据库中的双精度值是否为空?
【问题讨论】:
-
wasNull()和检查getObject("columnName") == null都是有效的解决方案。您能否分享您遇到的错误? -
嗨@Mureinik,当我执行以下操作时:beer.setRating(beerObj.getDouble("myRating")); if(beerObj.wasNull()){ } 我得到“无法解析方法 wasNull()”。此外,当我尝试 getObject() 方法时,我得到“无法解析方法“getObject()”
-
但是您遇到了什么错误?你能用代码 sn-p 和确切的错误编辑你的问题吗?
-
@Mureinik,我不确定我是否理解您要我发布的内容。我确实在原始帖子中添加了我遇到问题的行。正如我在评论中所说,Android Studio 无法解析这些方法,因此如果不先解析这些方法,我将无法编译它。这样就不会出现编译错误。
-
当您的问题是关于 JSON 时,您为什么要使用 JDBC 标记并引用 JDBC 问题?
标签: java json android-studio null double