2015-05-02 2 views
0

Я проверяю очень простой Java веб-приложение doGet() метод со следующим кодом:Java ResultSet отображаются в обратном порядке

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException 
{ 
    try 
    { 
     Class.forName("oracle.jdbc.OracleDriver"); 
    } 
    catch(ClassNotFoundException ex) 
    { 
      System.out.println(ex); 
    } 

    String sql_qrp="select * from HR.EMP_MGMT"; 

    try 
    { 
     Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/XE","HR","HR"); 

     try(Statement stm=con.createStatement()) 
     { 
      ResultSet rs=stm.executeQuery(sql_qrp); 

      while(rs.next()) 
      { 
       int emp_ID=rs.getInt("EMP_ID"); 
       String name=rs.getString("NAME"); 
       String address=rs.getString("ADDRESS"); 
       int tel=rs.getInt("TEL"); 
       String email=rs.getString("EMAIL"); 

       System.out.println(emp_ID+", "+name+", "+address+", "+tel+", "+email); 
      } 
     } 
    } 
    catch (SQLException ex) { 
     Logger.getLogger(Add_Employee.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

Он также подключается к БД Oracle и извлекает все 3 строки из таблицы, указанной в код, НО В РЕВЕРСОМ ЗАКАЗЕ. Я уже не пытался добиться успеха FETCH_FORWARD. Таким образом, он взял записи, такие как: ID 3., 2., 1. а не ID 1., 2., 3.

+0

Я бы рекомендовал использовать 'ORDER BY' в вашем SQL. Порядок строк не определяется при отсутствии «ORDER BY». –

ответ

1

Добавить

ORDER BY id ASC 

к sql_qrp.

+0

Спасибо. Это помогло. Кстати, какая причина, по которой приложение выбирает строки в обратном порядке по умолчанию? – Istvan

+0

Если вы не используете 'ORDER BY', порядок определяется базой данных. Это может быть случайным, порядок вставки или любой другой порядок. –

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