2016-08-03 9 views
-4

Ich mache JDBC über PostgreSQL und versuchen, die Daten aus der Tabelle auszuwählen und in der Webseite anzuzeigen.Wie binde ich den Resultset-Wert in postgresql

Hier ist mein Code

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(); 
    } 

} 

Die Daten zeigen, ist nicht auf die Homepage. Ich weiß nicht, wo ich einen Fehler mache.

Jede Hilfe wird geschätzt.

+0

Welchen Fehler bekommen Sie? Schauen Sie sich auch vorbereitete Aussagen an. Verwenden Sie keine String-Verkettung. Es ist eine schlechte Übung. –

+0

Ich denke, du musst dein "Ergebnis" in eine "Liste" schreiben und die "Liste" zurückgeben. Zeile 'return result = getAreaList (rs.getInt (1));' outside 'while' Schleife macht keinen Sinn. –

+0

können Sie mir Beispiel –

Antwort

0

Sie müssen zu einer ArrayList führen, dann wird diese Liste in Ihrer getAreaList() übergeben. Ich Schreib Beispiel Pseudocode versucht: // Deklarieren

ArrayList list = new ArrayList(); 

// Schleife

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

// getAreaList rufen

getAreaList(list); 

// Ihr getAreaList() aussehen

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