Ich versuche, eine SQL-Abfrage in PyQt5 zu schreiben, das einige Daten in einer Tabelle aktualisiert, sondern kann die Abfrage nicht zur Arbeit bekommen. Ich habe unzählige Foren gelesen, aber soweit ich das beurteilen kann, ist mein Code korrekt. Ich habe auch die Dokumentation von hinten nach vorne gelesen, vielleicht verpasse ich etwas?PyQt SQL Query mit Bindings
Ich bin mit PyQt5, python3.5 und SQLite. Der folgende Code (LetzteFehlerNr/lastQuery nicht dargestellt):
self.sqlWrite('ct','MarkerSize',123)
def sqlWrite(self,tbl,var,val):
query = QtSql.QSqlQuery(self.db) # First create query instance.
# Prepare query with placeholders, then bind values.
query.prepare('UPDATE :tbl SET value=:val WHERE property=:var')
query.bindValue(0,tbl)
query.bindValue(1,val)
query.bindValue(2,var)
# Finally execute query.
query.exec_()
... erzeugt den Fehler:
near "?": syntax error Unable to execute statement
near "?": syntax error Unable to execute statement
UPDATE :tbl SET value=:val WHERE property=:var
Parameter count mismatch
Habe ich den Faden verloren? Was vermisse ich?
Vielen Dank im Voraus.
nur eine Vermutung, da ich nie PyQt5 verwendet haben : Benötigen Sie Escapezeichen (einfache oder doppelte Anführungszeichen) um die Platzhalter in der UPDATE-Anweisung für die Zeichenfolgenwerte? –