2015-09-27 103 views
0

我想將結果集轉換爲字符串。之後,我將使用該字符串來編寫一個html文件。課程是一個包含courseid(String),name(String),prerequisites(String)連接數據庫的表。這是我的代碼和想法。你能評估我的想法或給我一些更好的解決方案嗎?如何將ResultSet轉換爲Java中的字符串

private static void printRecordFromCourse() throws SQLException { 
    Connection dbConnection = null; 
    Statement stmt = null; 
    String printSQL = "SELECT * FROM course"; 

    try { 
     dbConnection = getDBConnection(); 
     stmt = dbConnection.createStatement(); 
        ResultSet rs=stmt.executeQuery(printSQL); 
     while(rs.next()){ 
      //Retrieve by column name 
      String courseid = rs.getString("courseid"); 
      String name = rs.getString("name"); 
      String prerequisites = rs.getString("prerequisites"); 

      String result+ = "<tr><td>"+courseid+"</td><td>"+name+"</td><td>"+prerequisites"</td></tr>"; 
     } 
     rs.close(); 
    } catch (SQLException e) { 
     System.out.println(e.getMessage()); 
    } finally { 
     if (stmt != null) { 
      dbConnection.close(); 
     } 
     if (dbConnection != null) { 
      dbConnection.close(); 
     } 
    } 
} 
+0

上面的代碼是否存在一些錯誤?您可以使用一個類 - 課程並使用相應的getter/setter方法來訪問/更新值 – Excel

+0

否我的意思是如何將結果集rs轉換爲字符串。我的程序工作正常 –

+0

http://stackoverflow.com/questions/2317251/i-want-to-convert-a-resultset-to-a-string-i-have-tried-everything-but-it-always – Excel

回答

0

你可以使用ArrayList和列,存放在那裏如:

List allRows = new ArrayList(); 
    while(rs.next()){ 
     String[] currentRow = new String[numberColumns]; 
     for(int i = 1;i<=numberColumns;i++){ 
      row[i-1]=rs.getString(i); 
     } 
     rows.add(row); 
    } 

你的ArrayList現在包含字符串數組,其中每個數組代表一行。現在,您可以簡單地將字符串數組條目轉換爲字符串,例如使用Arrays.toString(allRows.get(i));

相關問題