Heim >Java >javaLernprogramm >Warum kann ich keine vorbereiteten Anweisungsparameter für Tabellennamen in SQL verwenden?
Problem mit vorbereiteten Anweisungsparametern mit Tabellennamen
Bei dem Versuch, dynamisch einen Tabellennamen für den Datenabruf festzulegen, ist ein Fehler aufgetreten vorbereitete Anweisungsausführung. Der Grund für diesen Fehler liegt in der Verwendung eines Parameters, bei dem ein Tabellenname erwartet wird.
Der bereitgestellte Beispielcode verwendet eine vorbereitete Anweisung mit einem Parameterplatzhalter „?“ und versucht, ihm einen Wert zuzuweisen, der einen Tabellennamen darstellt. Dies ist jedoch nicht zulässig, da Tabellennamen nicht dynamisch über Parameter angegeben werden können. Sie müssen explizit in der Abfrage selbst definiert werden.
Lösung
Um dieses Problem zu beheben, codieren Sie den Tabellennamen direkt in die Abfragezeichenfolge, wie unten gezeigt:
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "]"?";
Diese Änderung stellt sicher, dass der Tabellenname in der Abfrage korrekt definiert ist und ohne den oben genannten Fehler erfolgreich ausgeführt werden kann.
Das obige ist der detaillierte Inhalt vonWarum kann ich keine vorbereiteten Anweisungsparameter für Tabellennamen in SQL verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!