Zunächst hoffe ich, dass Sie service
ist eine Variable, die von einer Form Ihrer JSP kommt, dass diese Variable endet in Ihr Controller und dass Ihr Controller den Zugriff auf die Datenbankebene an eine andere Klasse delegiert.
Es gibt mehrere Probleme mit Ihrer Anfrage:
- Sie verwenden Anführungszeichen in Ihrer SQL-Abfrage, Sie sollten nicht.
- Was ist
Activity
? Vermutlich vermissen Sie ein Leerzeichen zwischen "Auswahl" und dem Wert von "Aktivität"
Das Ziel einer "PreparedStatement" ist SQL Injection zu vermeiden. Sie MÜSSEN den Code, den ich unten zeige, anstelle Ihres Parameters verwenden, der direkt in Ihre gebaute SQL-Anweisung eingefügt wird.
Betrachten StringBuilder
verwenden, wenn Sie mehrere String Verkettungen
"
String sqlstring = "select activity from backgroundcost where onpremprice = ?";
PreparedStatement ps = con.prepareStatement(sqlstring);
ps.setString(1, service);
ResultSet rs = ps.executeQuery();
Welchen Fehler bekommen Sie? – Flown
MysqlsyntaxerrorException –
Bitte aktualisieren Sie Ihre Frage und fügen Sie den StackTrace hinzu. – Flown