直接查询数据库时,结果为NULL
,现在我正在使用ResultSet
检查结果是否为空,执行其他操作,如果结果不为NULL,则打印结果:这是我的COde:
if(rs4 != null) {
while(rs4.next()) {
String ad =rs4.getString("number");
System.out.println(ad);
}
}
else{
System.out.println("ZERO ENTRIES");
}`
数据库行值为NULL,因为我的查询没有返回任何行,所以我希望else语句可以运行,但现在if语句仍然被删除并打印null
答案 0 :(得分:1)
直接查询数据库时看到的是NULL number
列的值,而不是行的值。
这就是为什么在non-null
的{{1}}列中获得NULL
值为number
的行。
答案 1 :(得分:0)
您可以使用以下内容:
if (!resultSet.isBeforeFirst() ) {
System.out.println("No data");
}
或者:
if (!resultSet.next() ) {
System.out.println("no data");
}
答案 2 :(得分:0)
我终于找到了解决问题的方法。使用rs.getInt()
,每当行值为0
时,这将返回NULL
,并在找到行时返回新的行值。
这解决了它: - )
while(rs.next())
{
// using rs.getInt() will return zero when row value from your query is NULL
int i = rs.getInt("number");
if(i<0) //check if zero
{
// When result is NULL i =0
System.out.println("your value");
}else{
//When there are rows found from database i > 0
String ad=rs.getString("number");
System.out.println(ad);
}
}`