SQLException: [Microsoft][ODBC Microsoft Access Driver] Zu wenige Parameter. Erwartet 1
Suche ich eine access-Datenbank für eine Einzelteil-code und Rückgabe des item-Objekts wie im folgenden code. Jede raten, warum ich immer diese Fehlermeldung wird geschätzt. Dank
public Item getIteminfo(String itemCode) throws ClassNotFoundException, SQLException {
Statement myStatement = getConnection();
Item item = null;
String itemDescription;
int itemPrice;
String sql = "SELECT * FROM itemCatalog WHERE ItemCode = '"+itemCode+"'";
ResultSet results = myStatement.executeQuery(sql);
while (results.next()){
itemDescription = results.getString("Item Description");
itemPrice = results.getInt("Item Price");
item = new Item(itemDescription, itemPrice);
}
closeConnection();
return item;
}
}
Hier der Fehler-details :
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3109)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:252)
at checkoutsimulation.DAO.getIteminfo(DAO.java:49)
at checkoutsimulation.ItemCatalog.getItemdetails(ItemCatalog.java:61)
InformationsquelleAutor Adesh | 2012-11-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin nicht völlig vertraut mit Java oder ODBC-aber ich weiß, dass Datenbanken nicht nehmen freundlich zu Spaltennamen mit Leerzeichen.
Versuchen Sie das einwickeln der Spaltennamen in Klammern.
itemDescription = results.getString("[Item Description]");
InformationsquelleAutor nickles80
War ich vor demselben problem. endlich gelöst
nichts,, bitte überprüfen Sie das db-Feld name ItemCode(WO ItemCode = '"+itemCode+"'")
mit Ihrer Datenbank
ein solcher Fehler tritt auf, wenn das Feld name Fehler auf Ihrem SQL....
InformationsquelleAutor Surendra Jnawali
In Diesem Fall sollten Sie
PreparedStatement
InformationsquelleAutor Rajdeep Bhuva
Kann dies auch passieren, wenn Sie auf ein nicht vorhandenes Feld in den select-Teil der Abfrage.
zB eine Abfrage wie die folgende.
InformationsquelleAutor cedd