2016-01-12 1 views
0

Я пытаюсь получить значения из resulset, но ничего не возвращает. Когда я пытаюсь сделать это через простой sql, он возвращает некоторые значения.ResultSet не возвращает значения для DB2, но возвращает значения, если я пытаюсь сделать это вручную

List<String> res = new ArrayList<String>(); 
    try { 
     String query = "SELECT COLUMN_NAME FROM idoc.columns_to_show where user = ? " 
       + DAO.DB2_UR_POSTFIX; 

     Connection connection = Properties.getDocsConnection(); 
     try { 
      PreparedStatement pr = connection.prepareStatement(query); 
      try { 
       pr.setString(1, user.getDomainName()); 
       ResultSet rs = pr.executeQuery(); 
       try { 
        while (rs.next()) { 
         res.add(rs.getString("COLUMN_NAME")); 
        } 
       } finally { 
        rs.close(); 
       } 
      } finally { 
       pr.close(); 
      } 
     } finally { 
      connection.close(); 
     } 

    } catch (SQLException e) { 
     throw new RuntimeException(e); 
    } 

    return res; 
+2

Что такое 'DAO.DB2_UR_POSTFIX'? – SMA

+0

@sma, что только с ур; –

+0

Вы имеете в виду 'DAO.DB2_UR_POSTFIX =" с ur ";'? Можете ли вы также указать e.printStackTrace() и проверить, запущена ли ошибка? – Jan

ответ

0

Не использовать имя столбца «пользователь», это зарезервированное имя для базы данных DB2. Поэтому я не нашел никакого результата.

+0

все еще ** ускользает ** как еще один способ решить ваш запрос – Jan