gpt4 book ai didi

Java : Difficulties trying to store data from MySQL DB into a two-dimensional array of Strings

转载 作者:行者123 更新时间:2023-11-29 22:27:38 25 4
gpt4 key购买 nike

我正在制作一个游戏作为学校项目,但我无法从数据库中获取数据并将其存储到我的 String[][] 中。String[][] 保存我的棋盘元素,这些元素以 VARCHAR 形式存储在数据库中。我的看板表有以下列:x、y、Icoon、spelbordID、spelID。

这是我用于检索数据的代码:

try (Connection conn = DriverManager.getConnection(Connectie.JDBC_URL)) {

PreparedStatement query = conn.prepareStatement("SELECT * FROM spelbord WHERE spelID = nr AND spelbordID = 1 ");
ResultSet rs = query.executeQuery();
while(rs.next()){
x = rs.getInt("x");
y = rs.getInt("y");
spelbord[x][y] = rs.getString("Icoon");
}

} catch (SQLException ex) {
System.out.println(ex.getMessage());
throw new RuntimeException(ex);
}

return spelbord;

每当我调试时,spelbord 总是显示完全为空。以前,当我只有 3 列(x、y、Icoon)时,它可以工作,但由于每个棋盘和游戏都需要标识符,我不得不更改它。从那一刻起它就停止工作了。

最佳答案

正如我在评论中所说,您的 SQL 不正确:

SELECT * FROM spelbord WHERE spelID = nr AND spelbordID = 1 
^^
顾名思义,

nr 既不是有效的 sql 标识符,也不是 id。您需要通过 query.setString 实际上将 id 放入其中:

因此您更新后的代码将如下所示:

final String sql = "SELECT x, y, Icoon FROM spelbord WHERE spelID = ? AND spelbordID = ?";

query = conn.prepareStatement(sql);
query.setString(1, your_spel_id);
query.setString(2, your_spel_bord_id);

rs = query.executeQuery();
while(rs.next()) {

}

关于Java : Difficulties trying to store data from MySQL DB into a two-dimensional array of Strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30131394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com