2012-05-02 60 views
1

這應該很簡單,我想從KATA_DASAR表中檢索KATA記錄並將其放入名爲kamusKata []的數組中。但我似乎無法寫出正確的代碼,有什麼幫助?預先感謝。 :)將SQL解析爲Java中的數組

package ir; 

import java.sql.*; 

public class kataDasar { 
private String[] kamusKata; 
private int i=0; 

public kataDasar() { 
    try { 
      //definisi connection 
      Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/stemming", "admin", "admin"); 
      Statement stmt = con.createStatement(); 
      //SQL query 
      String SQL = "SELECT KATA FROM KATA_DASAR"; 
      ResultSet rs = stmt.executeQuery(SQL); 

      while (rs.next()){ 
      String hasil = (rs.getString("KATA")); 
      setKamusKata(hasil); 
      } 

     } catch (SQLException ex) { 
      System.err.println("Connection failed"); //jika connection failed 
     } 
}; 

private void setKamusKata (String kata) { 
    kamusKata[i] = kata; 
    i++; 
} 

public String getKamusKata() { 
    return kamusKata; 
} 
} 
+0

我可以對數據在該數據庫中列和類型什麼的一些更詳細是構造函數完成執行後kamusKata數組的內容? – eabraham

回答

0

此:

public String getKamusKata() { 
    return kamusKata; 
} 

可能是問題。您的方法應返回String,但您試圖返回String[]

3

參見:ArrayList的 http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html

trutheality的回答可能不會幫助你,因爲你永遠初始化您的數組。

你會做這樣的事情:

kamusKata = new ArrayList<String>(); 

while(rs.next()) { 
kamusKata.add(rs.getString('KATA') 
} 

,但我不知道你的getKamusKata()方法是應該做的。如果你想將其作爲字符串返回你應該看看這個問題:Java equivalents of C# String.Format() and String.Join()

交替有你的方法去做:

StringBuilder sb=new StringBuilder(); 
for(string kata : kamusKata) { 
    sb.append(kata); 
} 

return sb.toString();