簡體   English   中英

Java中的SQL查詢:(JDBC)如何使用SELECT語句?

[英]SQL queries in Java: (JDBC) How to use the SELECT statement?

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查詢的連接是執行相同任務的不安全方式。 有關詳細信息,請參閱文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM