Java中如何检查对象结果大于0
我有以下代码从数据库获取并返回记录计数,并将其分配到对象中Java中如何检查对象结果大于0,java,jdbc,Java,Jdbc,我有以下代码从数据库获取并返回记录计数,并将其分配到对象中 rs = stmt.executeQuery( "SELECT COUNT(*) FROM TEST" ); 我有以下代码来检查是否找到记录: if (rs.next() && rs.getString( 1 ).equals( "1" )) { logger.info( "DID Find Records !!! " ); } else { logger.info( "
rs = stmt.executeQuery( "SELECT COUNT(*) FROM TEST" );
我有以下代码来检查是否找到记录:
if (rs.next() && rs.getString( 1 ).equals( "1" )) {
logger.info( "DID Find Records !!! " );
} else {
logger.info( "DID NOT Find Records !!! " );
}
在这种情况下,如何检查返回记录是否大于0?您需要使用别名,然后从
rs
提取返回的计数作为整数,只需将代码更改为:
rs = stmt.executeQuery( "SELECT COUNT(*) FROM TEST AS TESTCOUNT" );
rs.next();
if (rs.getInt("TESTCOUNT") > 0) {
logger.info( "DID Find Records !!! " );
} else {
logger.info( "DID NOT Find Records !!! " );
}
其中,'TESTCOUNT'
是给定的别名。rs.getString(1)
包含来自数据库的行计数值。只需将其解析为整数,即行数
if (rs!=null && rs.next()) {
logger.info( "DID Find Records !!! " );
logger.info( "RowCount "+ Integer.valueOf(rs.getString( 1 )));
} else {
logger.info( "DID NOT Find Records !!! " );
}
将其设置为int变量并进行检查
ResultSet rs = .....;
int count = -1;
if (rs.next())
count = rs.getInt(1);
if (count <= 0)
{
logger.info("no records");
}
else if (count == 1)
{
logger.info("found 1 record");
}
else
{
logger.info("found more...");
}bb
ResultSet rs=。。。。。;
整数计数=-1;
如果(rs.next())
计数=rs.getInt(1);
如果(计数更换
if(rs.next()&&rs.getString(1).equals(“1”))
借
if(rs.next()&&rs.getInt(1)>0))
为什么不做if(rs.next()&&rs.getInt(1)>0))
而不是if(rs.next()&&rs.getString(1).equals(“1”)
?还是我误解了你的问题?看起来就像是如果(rs.next())
没问题。请参阅:您的代码缺失rs.next()
。结果集最初定位在第一行之前,而不是第一行。不需要使用Integer.valueOf(rs.getString(1))
,使用rs.getInt(1)
就足够了。而executeQuery
不应返回null
,因此不需要进行null检查。然后将引发异常。