我将实体"a“插入到具有唯一列内容的表中。然后
Db.driver().commitTransaction()然后开始新的事务并重复。事务失败。正如我猜测的那样,下一个动作是自动transacion回滚。然后我试着
Dlg.Table.model().select()但是它返回0行(尽管表中有几行)。为什么?如何解决这个问题?
编辑:不需要,回档需要手动完成。
发布于 2011-01-13 14:59:11
我找到的唯一解决方案是使用下面这样的函数:
def refresh_model(Dlg):
Dlg.Model = QSqlRelationalTableModel()
Dlg.Model.setTable(Dlg.TableName)
Dlg.Model.setEditStrategy(QSqlTableModel.OnManualSubmit)
for Col in range(len(DisplColNames[Dlg.TableName])):
Dlg.Model.setHeaderData( Col, Qt.Horizontal, DisplColNames[Dlg.TableName][Col])
Dlg.tvTable.setModel(Dlg.Model)
Dlg.Model.select()但是为什么我需要在交易失败后建立新的模型,这一点还不清楚。
https://stackoverflow.com/questions/4677190
复制相似问题