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