po prostu trochę zmaga się z identyfikacją identyfikatorapodczas aktualizacji utworu. Podaję identyfikator jako var i próbuję go użyć w połączeniu z instrukcją WHERE i nie mogę znaleźć poprawnej składni
String update = "UPDATE LawnMowers"+ " SET LMPrice = ""+returnedPrice+"" " + " WHERE LMID = ""+returnedID+"";
zwracany jest identyfikator, a błąd to „stała niepoprawnego znaku”. Uważam, że problemem jest zwykle stwierdzenie:
„GDZIE LMID = int / double.ect ”; zamiast używania„ WHERE LMID = ”„ + varr + ””; błędy i dodawanie dodatkowych opcji ect „lub)”, których próbowałem też nie działają. Zastanawiam się tylko, czy ktoś miał jakiś wgląd
moja DB jest na Godaddy
dziękuje za przeczytanie
Odpowiedzi:
1 dla odpowiedzi № 1Myślę, że twoje oświadczenie powinno się skończyć
+ returnedID + """;
Twój obecnie się kończy
+returnedID+"";
Przeczytaj także o przygotowane oświadczenia, są one znacznie łatwiejsze w użyciu i narażają Cię na znacznie mniejsze ryzyko luk w zabezpieczeniach SQLi. Wyglądałoby to tak:
String update = "UPDATE LawnMowers SET LMPrice = ? WHERE LMID = ?";
updateStatement = con.prepareStatement(update);
updateStatement.setInt(1, returnedPrice);
updateStatement.setInt(2, returnedId);
updateStatement.executeUpdate();