Как проверить результат объекта более 0 в Java - PullRequest
0 голосов
/ 28 августа 2018

У меня есть следующий код для получения и возврата количества записей из базы данных и назначения его в объект.

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?

Ответы [ 4 ]

0 голосов
/ 28 августа 2018

Заменить

if (rs.next() && rs.getString( 1 ).equals( "1" ))

от

if (rs.next() && rs.getInt(1) > 0))

0 голосов
/ 28 августа 2018

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 !!! " );
    }
0 голосов
/ 28 августа 2018

Перейдите в переменную 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
0 голосов
/ 28 августа 2018

Вам нужно будет использовать псевдоним, а затем извлечь возвращенное 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' - имя псевдонима.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...