2016-08-03 19 views
-4

我正在通過PostgreSQL進行JDBC並嘗試從表中選擇數據並將其顯示在網頁中。如何綁定postgresql中的resultset值

這裏是我的代碼

Connection con = null; 
con = DBHelper.getDBConnection(DBHelper.DBTypes.Postgres); 
java.sql.Statement st = con.createStatement(); 
PreparedStatement prepstmt = null; 
String result = null; 
ResultSet rs = null; 
try { 


     final String query = "SELECT distinct area from propertydetails where CAST(area AS text) like '" 
       + objBean.getArea() 
       + "%' order by area"; 

     System.out.println("query executed"); 
     while(rs.next()) 
     { 
      System.out.println(rs.getInt(1)); 
      result = getAreaList(rs.getInt(1)); 

     } 


     return result=getAreaList(rs.getInt(1)); 


private String getAreaList(ResultSet rs) throws SQLException, JSONException { 
    try { 
     JSONArray jarr = new JSONArray(); 
     if (!rs.next()) { 
      jarr.put("Sorry, no suggestion found");    
      return CommonHelper.getSuccessMsg(2, jarr); 

     } else { 
      rs.beforeFirst();    
      while (rs.next()) { 
       jarr.put(Integer.toString(rs.getInt("area"))); 
      } 
      return CommonHelper.getSuccessMsg(1, jarr); 
     } 

    } catch (SQLException e) { 
     return CommonHelper.getErrorMsg(); 
    } finally { 
     rs.close(); 
    } 

} 

中的數據不會在網頁顯示。我不知道我犯了什麼錯誤。

任何幫助將不勝感激。

+0

你有什麼錯誤?也看看準備好的陳述。不要使用字符串連接。這是一個不好的做法。 –

+0

我認爲,你需要把你的'結果'放在'List'中並返回'List'。 line'return result = getAreaList(rs.getInt(1));''outside'while while循環沒有意義。 –

+0

你可以給我例 –

回答

0

你必須得到一個ArrayList,然後這個列表被傳遞給你的getAreaList()。 我試圖寫示例僞代碼: //聲明

ArrayList list = new ArrayList(); 

//循環

while(){ 
list.add(rs.getInt(1)); 
} 

//調用getAreaList

getAreaList(list); 

//你getAreaList()的樣子

public string getAreaList(ArrayList areaList){ 
//travser one by one elements and do operation which you want.. 
}