Название: QSqlTableModel::submitAll MSSQL Отправлено: KrupaKarlo от Декабрь 08, 2014, 11:17 проблема в том что при работе с MSSQL вызов submitAll не работает. Ошибка связана с тем, что Qt формирует запросы на апдейт включая primary key identity поля. Собственно база шлет нафиг. код формирования запроса зашит прямо внутри QtSql. Может кто сталивался с такой проблемой
Название: Re: QSqlTableModel::submitAll MSSQL Отправлено: Пантер от Декабрь 08, 2014, 11:38 Попробуй перед submitAll создать транзакцию.
Название: Re: QSqlTableModel::submitAll MSSQL Отправлено: KrupaKarlo от Декабрь 08, 2014, 11:58 уже сделано.
Название: Re: QSqlTableModel::submitAll MSSQL Отправлено: Пантер от Декабрь 08, 2014, 12:38 Не могу по теме ничего подсказать, но сам я не юзал QSqlTableModel. ИМХО, добавление/редактирование лучше сделать через отдельный диалог и использовать QSqlQueryModel.
Название: Re: QSqlTableModel::submitAll MSSQL Отправлено: KrupaKarlo от Декабрь 08, 2014, 16:30 Меня просто попросили помочь найти ошибку. Сам их не юазаю. Малоли кому будет полезно.
Решение проблемы в следующем: после функции setRecord (даже если вы вообще рекорд не меняли ) модель запихивает в UPDATE скрипт все поля включая первичный ключ. Собственно identity поля нельзя обновить. |