QSqlTableRelationalModel, какой сигнал испускается, если изменения в базе данных не сохранились? |
Здравствуйте, гость ( Вход | Регистрация )
QSqlTableRelationalModel, какой сигнал испускается, если изменения в базе данных не сохранились? |
esculapius |
14.2.2010, 13:18
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 7.2.2010 Пользователь №: 1449 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток, всем!
Программированием занимаюсь очень короткое время, на Qt4.5.0. и по-давно. Задача такова: Используя QSqlRelationalTableModel, создаю модель, представляю его. в него можно добавлять данные, редактировать его, удалять записи. При это каждая запись уникальна, обеспечивается движком БД (SQLite3). Хотелось бы при вводе запись, уже имеющегося в БД, выводилось сообщение, что данная запись уже есть в нем и узнать какой сигнал или функция отвечает за это! Поможите, люди добрыя, темному!!! Заранее благодарю за помощь! а то башка не соображает совсем |
|
|
Litkevich Yuriy |
14.2.2010, 14:12
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
При это каждая запись уникальна, обеспечивается движком БД (SQLite3). сигнал в такой ситуации не испускается, просто произойдёт ошибка. Т.е. некая функция сохранения вернёт ложь. Далее ошибку можно посмотреть, например так:Хотелось бы при вводе запись, уже имеющегося в БД, выводилось сообщение, что данная запись уже есть в нем model->lastError().databaseText() |
|
|
esculapius |
14.2.2010, 15:55
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 7.2.2010 Пользователь №: 1449 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, Юрий! Рaзрешил проблему. Интересно то, что ошибка не выдается.
Если кому интересно, в БД есть таблица:
В QtCreator создаю релашнмодель и табличное представление для нее.
Идея: при нажатии кнопки saveButton вызывается слот slotSave()
в реализации, которой для сохранения изменений используется функция submitAll(). Последняя возвращает истину, если изменения сохранены, иначе ложь. |
|
|
Текстовая версия | Сейчас: 27.4.2024, 9:11 |