Heim >Java >javaLernprogramm >Warum erhalte ich in meinem Java-Datenbankcode die Fehlermeldung „Parameterindex außerhalb des gültigen Bereichs'?

Warum erhalte ich in meinem Java-Datenbankcode die Fehlermeldung „Parameterindex außerhalb des gültigen Bereichs'?

DDD
DDDOriginal
2024-12-13 01:51:10563Durchsuche

Why Am I Getting a

Fehler beim Parameterindex außerhalb des gültigen Bereichs in der Java-Datenbank

Beim Versuch, mit einer Datenbank über Java zu interagieren, kann der Fehler „java .sql.SQLException: Parameterindex außerhalb des gültigen Bereichs (1 > Anzahl der Parameter, also 0)“. Dieser Fehler weist auf eine Diskrepanz zwischen der SQL-Anweisung und den für ihre Parameter bereitgestellten Werten hin.

Ursache:

Der Fehler tritt auf, wenn Sie versuchen, einen Parameter mithilfe der PreparedStatement festzulegen Objekt, aber die entsprechende SQL-Anweisung enthält keine Platzhalter (?) für diesen Parameter. Die Verwendung von setString() oder anderen Setter-Methoden ohne entsprechenden Platzhalter in der Abfrage löst diesen Fehler aus.

Lösung:

Um diesen Fehler zu beheben, stellen Sie sicher, dass Ihre SQL-Anweisung enthält Platzhalter für jeden Parameter, den Sie über das PreparedStatement-Objekt festlegen möchten. Die Platzhalter sollten als Fragezeichen (?) in der Aussage dargestellt werden.

Beispiel:

Falsche Aussage:

String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)";

Richtige Aussage:

String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)";

Zusätzlich Überlegungen:

  • Parameterindizes beginnen bei 1, daher sollte der erste Platzhalter in der Anweisung dem ersten Parameter zugewiesen werden, den Sie über PreparedStatement festlegen.
  • Vermeiden Sie die Verwendung von Single oder Double Setzen Sie die Platzhalter in Anführungszeichen, da diese dadurch als Zeichenfolgenwerte und nicht als Platzhalter interpretiert werden.

Weiteres Ressourcen:

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

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem Java-Datenbankcode die Fehlermeldung „Parameterindex außerhalb des gültigen Bereichs'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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