3

2 つのパラメーターを持つテーブルのデータベースからデータを取得しようとしています。このコードを実行しようとすると、エラーが発生します:パラメーターが設定されていません。小さな間違いだと思いますが、見つけられません。問題は、2 where パラメータにある可能性があります。以前は 2 を使用したことがありませんでした。誰でも私を助けることができますか?

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
4

1 に答える 1

5

Datum 値の 2 番目のパラメーターを指定するだけです。

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();
于 2015-04-25T19:36:15.060 に答える