我有以下代码从数据库获取和返回记录计数,并将其分配给对象。
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?
答案 0 :(得分:1)
替换
if (rs.next() && rs.getString( 1 ).equals( "1" ))
作者
if (rs.next() && rs.getInt(1) > 0))
答案 1 :(得分:0)
您将需要使用别名,然后从count
中提取返回的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'
是给定的别名。
答案 2 :(得分:0)
rs.getString( 1 )
包含数据库中的行计数值。只需将其解析为Integer以获取行数
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 !!! " );
}
答案 3 :(得分:0)
将其设为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