Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 25.6.2009, 17:12 |
Ну вот и хорошо, разобрался. А вообще проверять на стандартных примерах стоит, так как другим людям всегда проще запустить стандартный пример и посмотреть поведение. | |
LonelyDreamer | Дата 25.6.2009, 11:51 |
Пример %QTDIR%\examples\sql\relationaltablemodel после небольшой доработки для работы с файлами заработал как надо. После комментирования практически всего своего кода, когда результат не изменился, полез посмотреть как создаются таблицы и обнаружил, что для этой таблицы пропустил PRIMARY KEY. В этом и заключалась проблема. | |
Litkevich Yuriy | Дата 25.6.2009, 9:39 |
LonelyDreamer, как себя ведёт пример %QTDIR%\examples\sql\relationaltablemodel ? | |
mva | Дата 25.6.2009, 9:20 |
Думаю, что экземпляр QSqlRelationalTableModel не может по каким-то причинам сохранить данные на сервере. Если бы это был отдельный процесс с сервером, то можно было бы посмотреть обмен данными с помощью сниффера. Но SQLite работает в этом же процессе, поэтому сниффером не получится. Надо искать способ вывести сообщение об ошибке через какое-нибудь событие или сигнал командами qDebug() << db.lastError().text() или qDebug() << db.driver().lastError().text() Например, можно политику установить в OnManualSubmit, сделать на форме кнопку "Обновить" и к ней привязать команду submitAll(), а следом вывод сообщений об ошибках, как написано выше. |
|
LonelyDreamer | Дата 25.6.2009, 8:05 |
Аналогичная проблема. На форме два QTableView для отображения данных из двух таблиц БД (SQLite3). Для одной таблицы используется QSqlTableModel и всё нормально (редактируется), для второй QSqlRelationalTableModel и данные не редактируются. Для OnFieldChange после редактирования данных в QTableView сразу же возвращается старое значение. Для OnRowChange после редактирования в QTableView отображатеся новое значение, но в БД остается старое, и после редактирования какой-нибудь другой ячейки в QTableView старое значение возвращается обратно. Как заставить QTableView\QSqlRelationalTableModel вносить изменения в БД так же, как это делают QTableView\QSqlTableModel? Код, где создаются Model/View: Раскрывающийся текст
|
|
ViGOur | Дата 16.6.2009, 23:08 |
Покажи код, ошибки какие-нибудь возвращаются? | |
Rudel | Дата 16.6.2009, 22:33 |
Пишу программу с использованием SQLITE. База данных создается, удалением, добавление, поиск - сделал. Однако редактирование не работает. Данные просто не меняются. Поиск по нету ничего не дал. Есть ли какие-нибудь определенные моменты, которые могут привести к такому рода поведению? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 13:12 |