Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich „java.sql.SQLException: Parameterindex außerhalb des gültigen Bereichs'?

Warum erhalte ich „java.sql.SQLException: Parameterindex außerhalb des gültigen Bereichs'?

Susan Sarandon
Freigeben: 2024-12-24 00:24:20
Original
907 Leute haben es durchsucht

Why Am I Getting

java.sql.SQLException: Parameterindex außerhalb des gültigen Bereichs (1 > Anzahl der Parameter, also 0)

Dieser Fehler tritt auf wenn Sie versuchen, einen Parameter in einer vorbereiteten Anweisung festzulegen, für die es in der SQL keinen entsprechenden Platzhalter gibt Abfrage.

Ursachen:

  • Die SQL-Abfrage enthält nicht genügend Platzhalter (?) für die Anzahl der in der Anweisung festgelegten Parameter.
  • Sie verwenden fälschlicherweise parametrisierte Anweisungen mit nicht parametrisierten Abfragen.

Lösung:

Um diesen Fehler zu beheben, stellen Sie sicher, dass die SQL-Abfrage die richtige Anzahl von Platzhaltern für die eingestellten Parameter enthält. Zum Beispiel:

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

Zusätzliche Hinweise:

  • Parameterindizes beginnen bei 1, stellen Sie also sicher, dass Sie sie in der richtigen Reihenfolge einstellen.
  • Fügen Sie die Platzhalter in der SQL-Abfrage nicht in Anführungszeichen ein, da sie sonst als Zeichenfolgenwerte behandelt werden.
  • Wenn Wenn Sie eine nicht parametrisierte Abfrage verwenden, sollten Sie die Parameter direkt in der Abfragezeichenfolge festlegen:
String sql = String.format("INSERT INTO tablename (col1, col2, col3) VALUES (%s, %s, %s)", val1, val2, val3);
Nach dem Login kopieren

Referenzen:

  • JDBC Tutorial – Vorbereitete Aussagen: https://docs.oracle.com/javase/tutorial/jdbc/preparedstatements.html

Das obige ist der detaillierte Inhalt vonWarum erhalte ich „java.sql.SQLException: Parameterindex außerhalb des gültigen Bereichs'?. 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