Я пытаюсь написать SQL-запрос в PyQt5, который обновляет некоторые данные в таблице, но не может заставить запрос работать. Я читал бесчисленные форумы, но, насколько я могу судить, мой код верен. Я также прочитал документацию на фронт, так что, может быть, я что-то упустил?PyQt SQL-запрос с привязками
Я использую PyQt5, python3.5 и SQLITE. Следующий код (LastError/lastQuery не показаны):
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_()
... производит ошибку:
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
ли я потерял сюжет? Что мне не хватает?
Заранее спасибо.
только предположение, так как я никогда не использовал PyQt5 : вам нужны escape-символы (одиночные или двойные кавычки) вокруг заполнителей в инструкции UPDATE для строковых значений? –