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)".
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
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);
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.
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!