我试图从具有2个参数的表的数据库中获取数据,当我尝试执行此代码时,它给出错误:参数未设置。我认为这是一个小错误,但我找不到。问题可能出在2个参数,我以前从未使用过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
您只需要为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();