Russian Qt Forum
Апрель 26, 2024, 15:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlTableModel::submitAll MSSQL  (Прочитано 4044 раз)
KrupaKarlo
Гость
« : Декабрь 08, 2014, 11:17 »

проблема в том что при работе с MSSQL вызов submitAll не работает. Ошибка связана с тем, что Qt формирует запросы на апдейт включая primary key identity поля. Собственно база шлет нафиг. код формирования запроса зашит прямо внутри QtSql. Может кто сталивался с такой проблемой
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Декабрь 08, 2014, 11:38 »

Попробуй перед submitAll создать транзакцию.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
KrupaKarlo
Гость
« Ответ #2 : Декабрь 08, 2014, 11:58 »

уже сделано.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Декабрь 08, 2014, 12:38 »

Не могу по теме ничего подсказать, но сам я не юзал QSqlTableModel. ИМХО, добавление/редактирование лучше сделать через отдельный диалог и использовать QSqlQueryModel.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
KrupaKarlo
Гость
« Ответ #4 : Декабрь 08, 2014, 16:30 »

Меня просто попросили помочь найти ошибку. Сам их не юазаю. Малоли кому будет полезно.

Решение проблемы в следующем: после функции setRecord  (даже если вы вообще рекорд не меняли ) модель запихивает в UPDATE скрипт все поля включая первичный ключ. Собственно identity поля нельзя обновить.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.