Проблема после неудачной фиксации транзакции - PullRequest
0 голосов
/ 13 января 2011

Я вставил сущность "а" в таблицу с уникальным содержимым столбца. Тогда

Db.driver().commitTransaction()

Затем начинайте новую транзакцию и повторяйте. Транзакция не удалась. Как я могу догадаться, следующее действие - автоматический откат транзакции. Тогда я попробовал

Dlg.Table.model().select()

но он вернул 0 строк (хотя в таблице несколько строк). Зачем? Как это исправить?

РЕДАКТИРОВАТЬ: Нет, откат должен быть сделан вручную.

1 Ответ

1 голос
/ 13 января 2011

Единственное решение, которое я нашел, использует что-то вроде этой функции:

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()

Но почему мне нужно установить новую модель после сбоя транзакции, неясно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...