Parameterindex außerhalb des gültigen Bereichs in SQL-Ausnahme: Ursachen und Lösung
Es tritt die Ausnahme „java.sql.SQLException: Parameterindex außerhalb des Bereichs“ auf „Bereich (1 > Anzahl der Parameter, also 0)“ beim Einfügen in die Datenbank kann frustrierend sein. Dieser Fehler tritt auf, wenn Sie versuchen, einen Parameterwert in einer vorbereiteten Anweisung festzulegen, während in der SQL-Abfrage die entsprechenden Platzhalter (?) für diese Parameter fehlen.
Fehlerursache:
Dieser Fehler tritt auf, wenn Sie versuchen, die Methode setXxx() für PreparedStatement zu verwenden, die SQL-Abfragezeichenfolge jedoch nicht über die erforderlichen Platzhalter für den angegebenen Parameter verfügt index.
Beispiel für falschen Code:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1); // This will fail. preparedStatement.setString(2, val2); preparedStatement.setString(3, val3);
Lösung:
Um dieses Problem zu beheben, müssen Sie Folgendes tun Ändern Sie die SQL-Abfragezeichenfolge so, dass sie Platzhalter (?) für alle gewünschten Parameter enthält eingestellt.
Beispiel für korrigierten Code:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1); preparedStatement.setString(2, val2); preparedStatement.setString(3, val3);
Hinweis:
Zusätzliche Informationen:
Das obige ist der detaillierte Inhalt vonWarum löst mein Java-Code eine SQL-Ausnahme „Parameterindex außerhalb des Bereichs' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!