QSqlRelationTableModel->submitAll() ошибка No Fields to update" |
Здравствуйте, гость ( Вход | Регистрация )
QSqlRelationTableModel->submitAll() ошибка No Fields to update" |
mishabard |
6.7.2011, 15:47
Сообщение
#1
|
Студент Группа: Участник Сообщений: 31 Регистрация: 13.6.2011 Из: Киев Пользователь №: 2741 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день! Вот код в кратце. Выбрал все самое нужно. Все работает, данные обновляются или добовляются,
но в дебаге выскакиевает ошибка: No Fields to update". В программе используется следующая модель: QSqlRelationTableModel * model; QTableView *view; Создаю диалоговое окно для обновления или добавления записей в таблицу. Впринципе все сделал на основе примера из Qt вот конструктор диалогвого окна, для добавления новой записи в QSqlRelationTableModel передаю в него указатель view на TableView
Если пользователь нажимает ОК в диалоговом окне то делаю
Вот процедура, которая вызывает диалоговое окно
Вроде все добавляет в базу(хотя через раз вроде), но выскакивает ошибка, и не позволяет обробатывать действительно проблемы со вствкой записей. |
|
|
mishabard |
6.7.2011, 16:42
Сообщение
#2
|
Студент Группа: Участник Сообщений: 31 Регистрация: 13.6.2011 Из: Киев Пользователь №: 2741 Спасибо сказали: 0 раз(а) Репутация: 0 |
РЕШЕНО!!!
Целый день занимался проблемой, и только как написал вопрос на форум, сразу понял всем проблема. НЕВНИМАТЕЛЬНОСТЬ! Я в mapper использую mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit); а в главной модели стоит стратеги по умолчанию т.е QSqlTableModel::OnFieldChange. Просто дописал строку при настройке модели: Model->setEditStrategy(QSqlTableModel::OnManualSubmit); Все работает!!!! Теперь обновления в базу данных происходят только по model->submitAll(); Поторопился!!!!((((( Теперь при model->submitAll() возвращает false, но в model->lastError().text возвращает пустую строку. Подскажите что еще я не учел? ПС : Данные в базу записываются. |
|
|
Текстовая версия | Сейчас: 13.12.2024, 10:30 |