Java SQL异常:参数未设置。

3

我试图从一个带有两个where参数的表中获取数据,但在执行此代码时出现错误:未设置参数。我认为这是一个小错误,但我找不到它。问题可能出现在这两个where参数上,我以前从未使用过两个。请问有人可以帮助我吗?

public static void tabelVullen(int Kaartnummer,int Datum){
Connection con;
    try {
        con = DriverManager.getConnection(DB, "", "");
        PreparedStatement s = con.prepareStatement("Select Kaartnummer, Datum, Maaltijd, Prijs FROM Logbestanden WHERE Kaartnummer=? AND Datum=?");
        s.setInt(1, Kaartnummer);
        rset = s.executeQuery();

        while(rset.next()){
        String[] Logboek = new String[4];
        Logboek[0]=rset.getString("Kaartnummer");
        Logboek[1]=rset.getString("Datum");
        Logboek[2]=rset.getString("Maaltijd");
        Logboek[3]=rset.getString("Prijs");
        model.addRow(Logboek);

        }


        s.close();
        con.close();

    } catch (SQLException e) {
        System.out.println("Error LogbestandenWeergeven: " + e);

    }
}

这是错误信息

Error LogbestandenWeergeven: net.ucanaccess.jdbc.UcanaccessSQLException: Parameter not set
1个回答

5
您只需要为Datum值提供第二个参数:
PreparedStatement s = con.prepareStatement("Select Kaartnummer, Datum, Maaltijd, Prijs FROM Logbestanden WHERE Kaartnummer=? AND Datum=?");
s.setInt(1, Kaartnummer);
s.setInt(2, Datum);  // this is what you are missing
rset = s.executeQuery();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接