Heim > Java > javaLernprogramm > Warum gibt mein Java PreparedStatement „Parameterindex außerhalb des gültigen Bereichs' aus?

Warum gibt mein Java PreparedStatement „Parameterindex außerhalb des gültigen Bereichs' aus?

Mary-Kate Olsen
Freigeben: 2024-12-25 21:31:09
Original
800 Leute haben es durchsucht

Why Does My Java PreparedStatement Throw

Fehler: „java.sql.SQLException: Parameterindex außerhalb des Bereichs (1 > Anzahl der Parameter, also 0)“

Problem

Beim Versuch, Daten in eine Datenbank einzufügen, tritt der Fehler auf, begleitet von der Meldung „java.sql.SQLException: Parameterindex außerhalb des gültigen Bereichs (1 > Anzahl der Parameter, also 0)".

Ursache

Dieser Fehler tritt auf, wenn Sie setXxx()-Methoden für ein PreparedStatement aufrufen, ohne Platzhalter (?) in der SQL-Abfrage anzugeben . Zum Beispiel:

String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, val1); // Error occurs here
Nach dem Login kopieren

Lösung

Um dieses Problem zu beheben, fügen Sie Platzhalter in die SQL-Abfrage ein:

String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, val1);
Nach dem Login kopieren

Beachten Sie, dass Parameterindizes bei 1 beginnen und es gibt Es ist nicht erforderlich, Platzhalter in der SQL-Zeichenfolge in Anführungszeichen zu setzen. Andernfalls wird derselbe Fehler auftreten.

Zusätzliche Ressourcen

  • [JDBC-Tutorial – Vorbereitete Anweisungen](https://docs.oracle.com/javase/tutorial/jdbc/ basics/prepared.html)

Das obige ist der detaillierte Inhalt vonWarum gibt mein Java PreparedStatement „Parameterindex außerhalb des gültigen Bereichs' aus?. 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