Heim >Java >javaLernprogramm >Warum erhalte ich in meinem Java-Code die Meldung „java.sql.SQLException: Parameterindex außerhalb des gültigen Bereichs (1 > Anzahl der Parameter, also 0)'?
Anzahl der Parameter, die 0 ist)“ in „Mein Java-Code“? „ /> Anzahl der Parameter, die 0 ist)“ in meinem Java-Code? " />
Fehlerbehebung „java.sql.SQLException: Parameterindex außerhalb des Bereichs (1 > Anzahl der Parameter, also 0)“
Im Bereich Bei der Java-Programmierung tritt beim Versuch die Fehlermeldung „java.sql.SQLException: Parameterindex außerhalb des Bereichs (1 > Anzahl der Parameter, also 0)“ auf Führen Sie eine SQL-Abfrage unter Verwendung von PreparedStatement aus, ohne entsprechende Platzhalter in der Abfragezeichenfolge bereitzustellen.
Dieser Fehler tritt insbesondere auf, wenn setXxx()-Methoden für PreparedStatement aufgerufen werden. Dies stellt jedoch sicher, dass die SQL-Abfrage keine Platzhalter enthält , der Fehler wird ausgelöst.
Ursache:
Die Hauptursache des Fehlers ist das Fehlen von Platzhalter (?) in der SQL-Abfrage verwendet diese Platzhalter, um das dynamische Einfügen von Parametern zu ermöglichen.
Lösung:
Um dieses Problem zu beheben, müssen Sie Ändern Sie Ihre SQL-Abfrage so, dass sie Platzhalter für jeden Parameter enthält, den Sie mithilfe der setXxx()-Methoden festlegen möchten, wenn Sie beispielsweise über eine Abfragezeichenfolge verfügen etwa:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)";
Sie müssten es wie folgt ändern:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)";
Es ist wichtig zu beachten, dass der Parameterindex mit 1 beginnt. Daher ist keine Anführungszeichen erforderlich die Platzhalter wie folgt:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES ('?', '?', '?')";
Dies führt zum gleichen Fehler, da der SQL-Parser die Platzhalter in Anführungszeichen stattdessen als tatsächliche Zeichenfolgenwerte behandelt von Platzhaltern für die Parameterbindung.
Zusätzliche Überlegungen:
Für weitere Einblicke wird empfohlen, auf die folgenden Ressourcen zu verweisen:
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem Java-Code die Meldung „java.sql.SQLException: Parameterindex außerhalb des gültigen Bereichs (1 > Anzahl der Parameter, also 0)'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!