Supposed you just executed a database call using JDBC and the results were stored in a ResultSet object called rs
. Then, you would expect the following to work if you test whether you returned a null value:
if (rs.getString("field") == null) {
// do something
}
You would be wrong.
Instead, JDBC offers the oh so intuitive wasNull()
method:
String val = rs.getString("field");
if (rs.wasNull())
{
// do something
}
The logic behind this is that the ResultSet object is not pre-fetched and hence we can not test for its value before JDBC actually retrieved the value. Am I right?…
This is based on a posting to the SQL Server 2000 JDBC newsgroup.