[英]How to put data from a database into an Arraylist?
我要做的是将数据库中的数据放入 Arraylist 中。
我有一个带有 wamp 的数据库和一个简单的表:Player,它有一个名字和一个分数。
我试图让所有这些播放器进入 ArrayList,但我尝试过的方法不起作用,因为我的 ArrayList 是播放器类型,而我输入的类型是字符串和 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;
}
}
有人知道怎么做,我会非常感激。
亲切地
playerList 将只接受 Player object,而不是 String 或 int。 所以用手头的数据创建一个 Player object,然后添加到列表中:
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);
}
您有一个玩家列表,并且您正在尝试将一个字符串和一个 Integer 添加到其中。
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 = new Player(p.getString("name"), p.getInt("score"));
playerList.add(player);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.