2016-03-03 5 views
3

Я пытаюсь выполнить SQL-запрос, чтобы узнать, сколько записей в моей таблице. SQL, который я использую для этого: SELECT COUNT(*) FROM myTable; Запрос выполняется и сохраняется в ResultSet.Как преобразовать ResultSet в полезное целое число?

int recordNumber = 0; 
    String sqlString = "SELECT COUNT(*) FROM myTable;"; 
    try { 
     ResultSet resultSet = stmt.executeQuery(sqlString); 
     resultSet.next(); 
     recordNumber = Integer.parseInt(rst); 
    } catch (Exception e) {} 

Мои вопросы, как я могу получить количество записей из ResultSet?

ответ

6

A ResultSet имеет ряд методов getXYZ(int) для извлечения столбцов из них их относительным индексом и соответствующих методов getXYZ(String) для извлечения этих столбцов по их псевдониму. В вашем случае, используя вариант индекса getInt(int) было бы проще:

recordNumber = resultSet.getInt(1); 
4

Попробуйте использовать этот запрос, добавив имя count в колонке, как это:

String sqlString = "SELECT COUNT(*) as count FROM myTable"; 

, а затем getInt(..) вы можете получить значение, как это:

if(resultSet.next()) 
    recordNumber = resultSet.getInt(count);// with name of column 

Или с помощью индекса столбца например:

if(resultSet.next()) 
    recordNumber = resultSet.getInt(1); 
+0

почему вы называете Integer.parseInt где ResultSet # GetInt уже возвращает Int? – rkosegi

Смежные вопросы