我正在研究postgreSQL 9.5,QT4和Python2。
我使用以下代码将PostgreSQL查询中的数据带到了QTableView:
self.nomtable = resultQuery
if not self.nomtable:
QtGui.QMessageBox.warning(self, 'Alerte', u'Pas de données pour ce salarié et cette année')
self.model = QtSql.QSqlRelationalTableModel(self, self.db)
self.model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
self.ui.tbv_suivtemp.setModel(self.model)
self.ui.tbv_suivtemp.setItemDelegate(QtSql.QSqlRelationalDelegate(self.ui.tbv_suivtemp))
self.ui.tbv_suivtemp.setSortingEnabled(True)
self.model.setQuery(query_rempl_suivemp)
self.model.select()
完美无缺:查询中的数据显示在QTableView中。
但现在,如果用户修改单元格中的数字并按下按钮,我希望在模型中输入新数据,然后将其插入到我的数据库中。
我的代码就是这样做的:
self.ui.btn_okannul.accepted.connect(self.sauvModifs)
def sauvModifs(self):
self.model.submitAll()
erreur = self.model.lastError().text()
print erreur
现在,错误是:
ERROR: syntax error on or near « = »
LIGNE 1 : PREPARE qpsqlpstmt_5 AS UPDATE SET "juillet"=$1 WHERE "sp_i...
^
(42601) QPSQL: Impossible to prepare the query
所以,这些是我的问题: