2012-05-02 3 views
1

이것은 간단해야합니다. KATA_DASAR 테이블에서 KATA 레코드를 검색하여 kamusKata []라는 배열에 넣었 으면합니다. 하지만 올바른 코드를 작성하는 것처럼 보이지 않습니다. 어떤 도움이 필요합니까? 미리 감사드립니다. :)SQL을 Java에서 Array로 구문 분석

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