V
Vaydis
Gast
Hallo ich habe einen kleinen Webshop, nix wildes und möchte jetzt einen Artikel darin updaten. In der Datenbank stehen die Artikel und in Spalte 8 der Tabelle Artikel ist ein Intergerfeld "Verfuegbar" das soll nun von 1 auf 0 geändert werden, den Fehler den ich dabei bekomme sieht so aus:
Caused by: org.apache.derby.client.am.SqlException: Mindestens ein Parameter der aktuellen Anweisung wurde nicht initialisiert.
at org.apache.derby.client.am.PreparedStatement.checkThatAllParametersAreSet(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.executeUpdateX(Unknown Source)
... 23 more
Hier die Javacode:
Kann mir jemand weiter helfen?
Caused by: org.apache.derby.client.am.SqlException: Mindestens ein Parameter der aktuellen Anweisung wurde nicht initialisiert.
at org.apache.derby.client.am.PreparedStatement.checkThatAllParametersAreSet(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.executeUpdateX(Unknown Source)
... 23 more
Hier die Javacode:
Java:
private static boolean doRemoveArtikel(HttpServletRequest request) {
HttpSession session = request.getSession();
DataAccess dao = (DataAccess) session.getAttribute("DAO");
int artikelNr;
boolean removed = false;
try {
artikelNr = Integer.valueOf(request.getParameter("artikelNr"));
if (artikelNr != 0) {
removed = dao.removeArtikel("" + artikelNr);
} else {
removed = true;
}
} catch(NumberFormatException e) {
}
session.setAttribute("page", "aArtikelListe");
return removed;
}
Java:
public boolean removeArtikel(String artikelNr) {
PreparedStatement pstmt;
ResultSet result;
boolean removed = false;
try {
pstmt = con.prepareStatement("SELECT * "
+ "FROM app.Artikel "
+ "WHERE Artikelnr = ?");
pstmt.setInt(1, Integer.valueOf(artikelNr));
result = pstmt.executeQuery();
if (result.next()) {
pstmt = con.prepareStatement("UPDATE app.Artikel "
+ "SET Verfuegbar = ? "
+ "WHERE Artikelnr = ?");
int verfuegbar = 0;
pstmt.setInt(1, verfuegbar);
pstmt.executeUpdate();
con.commit();
Kann mir jemand weiter helfen?