Heim > Java > javaLernprogramm > Warum erhalte ich bei PreparedStatement in Java einen „MySQL-Syntaxfehler in der Nähe von „?''?

Warum erhalte ich bei PreparedStatement in Java einen „MySQL-Syntaxfehler in der Nähe von „?''?

Susan Sarandon
Freigeben: 2024-12-11 15:43:11
Original
340 Leute haben es durchsucht

Why Am I Getting a

MySQL-Syntaxfehler: „Sie haben einen Fehler in Ihrer SQL-Syntax“ beim Ausführen von PreparedStatement

Beim Ausführen einer Abfrage mit einem PreparedStatement, Benutzer Möglicherweise tritt der Fehler „MySQLSyntaxErrorException near „?““ auf. Dieser Fehler weist auf einen Syntaxfehler in der SQL-Abfrage hin.

In diesem speziellen Problem versucht der Code, die Abfrageparameter durch das „?“ zu ersetzen, aber das PreparedStatement ersetzt diese Platzhalter nicht korrekt.

Das Problem liegt im Aufruf der MethodeexecuteQuery(). Der Code überschreibt die vorbereitete Abfrage mit der ursprünglichen Abfrage, indem er s.executeQuery(query) anstelle von s.executeQuery() aufruft. Zum Ausführen der vorbereiteten Abfrage sollte die argumentlose Methode „executeQuery()“ verwendet werden.

PreparedStatement s = conn.prepareStatement(query);
s.setInt(1, intValue);
s.setString(2, strValue);        
rs = s.executeQuery(); // Correct
Nach dem Login kopieren

Darüber hinaus kann es sein, dass der Code aufgrund nicht geschlossener Verbindungen, Anweisungen und Ergebnismengen Ressourcen verliert. Ressourcen sollten in einem finalen Block geschlossen werden, um eine Erschöpfung der Ressourcen zu verhindern.

try {
  ...
} finally {
  if (rs != null) rs.close();
  if (s != null) s.close();
  if (conn != null) conn.close();
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei PreparedStatement in Java einen „MySQL-Syntaxfehler in der Nähe von „?''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage