2012-05-02 10 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();