如何将数据库中的数据放入Arraylist?

问题描述 投票:0回答:2

我想做的是将数据库中的数据放入Arraylist。

我有一个带有沼泽的数据库和一个简单的表格:Player,其中有一个名称和一个分数。

我正在尝试将所有这些播放器都放入ArrayList,但是我尝试执行的操作不起作用,因为ArrayList是Player类型,而我输入的类型是String和int。

这里是我现在的代码:

public int test1() {
    try {
        ArrayList<Player> playerList= new ArrayList<Player>();
        BD=ds.getConnection();
        Statement s = BD.createStatement();
        ResultSet p = s.executeQuery("SELECT * FROM player");
        int i = 0;
        while(p.next()) {
            i++;
            playerList.add(p.getString("name")); //did not work
            playerList.add(p.getInt("score");
        }
        s.close();
        BD.close();
        return 1;
    } catch (java.sql.SQLException ex) {

        return 0;
    }
}

有人知道如何做的事情,我会非常感激。

Cordially

java sql arraylist
2个回答
0
投票

playerList将仅接受Player对象,而不接受String或int。因此,使用手边的数据创建一个Player对象,然后将其添加到列表中:

while(p.next()) {
    i++;
    String name = p.getString("name");
    int score = p.getInt("score");
    Player player = new Player(name, score); // assuming such a constructor exists

    // playerList.add(p.getString("name")); //did not work
    // playerList.add(p.getInt("score");

    // do this:
    playerList.add(player);
}

0
投票

您有一个播放器列表,正在尝试向其中添加一个字符串和一个整数。

ArrayList<Player> playerList= new ArrayList<Player>();
...
      playerList.add(p.getString("name")); //did not work
      playerList.add(p.getInt("score");
...

您可以按照@Hovercraft Full Of Eels的建议并在添加到列表之前创建一个新的Player:

Player player = new Player(p.getString("name"), p.getInt("score"));
playerList.add(player);
© www.soinside.com 2019 - 2024. All rights reserved.