gpt4 book ai didi

java - Java 中的 SQL 查询 : (JDBC) How to use the SELECT statement?

转载 作者:行者123 更新时间:2023-11-29 08:01:07 26 4
gpt4 key购买 nike

MysqlDatabase

这是我连接数据库的查询。

SELECT naam, kleur, sector, aantalZilverstukken, Spel_naam 
FROM speler
WHERE Spel_Naam = ?

我在netbeans的控制台中工作。当我想用 Spel_Naam 显示表 Speler 的记录时。

在控制台中,我想输入表 Spel 的主键,然后它会在控制台中显示表 Speler 的记录。我怎样才能做到这一点。

就像WHERE Spel_Naam = ?

问号必须是我输入的名字

select语句是否正确?我想在控制台中输入 Spel_Naam,然后它必须连接到数据库并给我表 Speler 的记录。我怎样才能做到这一点?

public class SpelerMapper
{
private final static String LEES_SPELERS_SQL = "SELECT naam, kleur, sector, aantalZilverstukken, Spel_naam FROM speler WHERE Spel_Naam = ?";

public List<Speler> geefSpelers()
{

List<Speler> spelerLijst = new ArrayList<Speler>();

Statement statement;
Connection connection = PersistentieController.getInstance().getConnection();
try
{
statement = connection.createStatement();

// query database
ResultSet resultSet = statement.executeQuery(LEES_SPELERS_SQL);

while (resultSet.next())
{

String naam = resultSet.getString("naam");
String kleur = resultSet.getString("kleur");
int sector = resultSet.getInt("sector");
int aantalZilverstukken = resultSet.getInt("aantalZilverstukken");

Speler speler = new Speler(naam ,kleur, sector , aantalZilverstukken);
spelerLijst.add(speler);
}
statement.close();
return spelerLijst;
} catch (SQLException e)
{
e.printStackTrace();
}

return null;

}

最佳答案

使用PreparedStatement:

String LEES_SPELERS_SQL = "SELECT ... WHERE Spel_Naam = ?";
PreparedStatement prepStmt = con.prepareStatement(LEES_SPELERS_SQL);
prepStmt.setString(1, naam);

ResultSet rs = prepStmt.executeQuery();

附加说明:虽然 SQL 查询的串联是另一个选项,但它是执行相同任务的不安全方法。引用this文章了解更多信息。

关于java - Java 中的 SQL 查询 : (JDBC) How to use the SELECT statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771066/

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