【问题标题】:Parse SQL to Array in Java在 Java 中将 SQL 解析为数组
【发布时间】:2023-03-17 18:55:02
【问题描述】:

这应该很简单,我想从 KATA_DASAR 表中检索 KATA 记录并将其放入名为 kamusKata[] 的数组中。但我似乎无法编写正确的代码,有什么帮助吗?预先感谢。 :)

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

【问题讨论】:

  • 我能否更详细地了解该数据库列中的数据类型以及构造函数完成执行后 kamusKata 数组的内容是什么?

标签: java sql netbeans derby


【解决方案1】:

参见: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();

【讨论】:

    【解决方案2】:

    这个:

    public String getKamusKata () {
        return kamusKata;
    }
    

    可能是问题所在。你的方法应该返回一个String,但你试图返回一个String[]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2015-10-16
      • 1970-01-01
      相关资源
      最近更新 更多