【发布时间】:2019-10-01 06:09:04
【问题描述】:
我正在尝试在 Python3/PyQt5.10/Sqlite 中创建更新查询。以相同方式进行的选择/插入查询运行良好。存在字段和对应的记录。
def updateRecords():
theDict = {
"Loc": "PyQt121",
"BoekNr" : "dfdf",
"BoekTitel" : "eeee",
"BoekBedrag" : 999
}
theFilter = " WHERE Loc = 'PyQt'"
query = QSqlQuery()
columns = ', '.join(pDict.keys())
placeholders = ':'+', :'.join(pDict.keys())
sql = 'UPDATE %s SET (%s) VALUES (%s) %s' % (pTable, columns, placeholders, pFilter)
query.prepare(sql)
for key, value in pDict.items():
query.bindValue(":"+key, value)
print (sql)
query.exec_()
print(query.lastError().databaseText())
return query.numRowsAffected()
生成的 sql 是 UPDATE tempbooks SET (Loc, BoekNr, BoekTitel, BoekBedrag) VALUES (:Loc, :BoekNr, :BoekTitel, :BoekBedrag) WHERE Loc = 'PyQt'。 query.lastError().databaseText()) 给我“No Query”并且更新的行是-1。
【问题讨论】:
标签: python-3.x sqlite pyqt5