![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Litkevich Yuriy |
![]()
Сообщение
#21
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
"The database reported an error: invalid transaction handle (expecting explicit transaction start) Unable to execute query", вторая запись не сохраняется. Это всё к тому что я написал выше, тут вот ещё кое-чтов общем ни модели Qt ни соответственно Мапер (который пользуется моделью) не подразумевают использование транзакций. Транзакции уверенно работают только при использовании QSqlQueryModel и всё. Как только начинают использоваться QSqlTableModel так всё сразу начинает глючить. Причём проявляется это для разных драйверов СУБД. На сегодняшний день проявилось (в разных версиях Qt по разному) QIBase/QFirebird, QSqlite, QMysql, QOdbc |
|
|
Steklova Olga |
![]()
Сообщение
#22
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Транзакции уверенно работают только при использовании QSqlQueryModel и всё. Как только начинают использоваться QSqlTableModel так всё сразу начинает глючить. а ранее вы писали Заменил QSqlTableModel, на простой QSqlQuery Простите, так надо использовать QSqlQuery? Или QSqlQueryModel тоже можно? А что вы думаете о предложении lvlad ? чтобы исправить проблему необходимо в файле qsqltablemodel.cpp
в методе QSqlTableModelPrivate::exec закомментировать строку:
После этого придется перекомпилировать Qt или модуль QtSql |
|
|
Litkevich Yuriy |
![]()
Сообщение
#23
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 9.12.2023, 12:02 |