2015-12-30 2 views
0

Я написал запрос, который извлекает данные из таблицы, а затем я проверяю количество строк в наборе результатов с помощью метода getRow(). Это печатает 0, однако моя таблица содержит в себе несколько столбцов столбцов.Пустой ResultSet для непустой таблицы базы данных после PreparedStatement

Я проверил предыдущие вопросы здесь и нашел один очень похожий here. Но в отличие от того, что упоминается в этом, у меня нет определенных разрешений, и соединение с базой данных хорошо установлено. Это очень простой запрос возвращения обновляемый ResultSet следующим образом:

if(temp == null) { 
       query = "SELECT * FROM altemp1"; 
       pstmt = cn.prepareStatement(query, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); 
       temp = pstmt.executeQuery(); 
       System.out.println("TEMP LENGTH : "+temp.getRow()); 
      } 

температура Является ли Resultset и altemp1 Является ли таблица в БД. Проверка выше, если temp есть null? для некоторых логических целей.

+0

Метод getRow не возвращает количество строк в наборе результатов; он возвращает номер текущей строки. В примере кода выполняется запрос (подготовленный оператор), но из набора результатов не извлекаются строки, поэтому текущий номер строки из набора результатов равен 0. – spencer7593

+0

http://stackoverflow.com/questions/192078/how-do -i-get-the-size-of-a-java-sql-resultset – atom

ответ

0

Вам нужно позвонить ResultSet.next() и проверить код возврата для извлечения каждого последующего ряда, в том числе первого, а затем вы должны вызвать различные другие методы, чтобы получить столбцы, один из которых является неgetRow(). См. Javadoc.

-1

что-то вроде следующего

 PreparedStatement ps = null; 
    ResultSet rs = null; 

    sql = "SELECT * FROM altemp1"; 
    try { 
     ps = con.prepareStatement(sql); 

     rs = new ResultSet(ps.executeQuery()); 
     while(rs.next()) { 
      ..... 
     } 
     } 
+0

Почему rs = новый ResultSet (ps.executeQuery()) ;, rs = ps.executeQuery() будет достаточным. – atom

+0

Он даже не будет компилироваться таким образом. – EJP

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