Название: QSqlRelationalTableModel не сохраняет данные Отправлено: Agarb от Май 02, 2009, 06:02 Помогите разобраться с проблеммой.
QSqlRelationalTableModel не хочет сохранять данные, когда устанавливаю отношение (setRelation). Отображается всё как надо, а вот данные в базу не пишуться ни в поле внешнего ключа ни в какое либо другое поле этой таблицы. Код: mdlDisease = new QSqlRelationalTableModel(this); думал дело в делегате: но когда убираю строчку с setRelation - данные в БД пишуться. Тут использую стратегию OnManualSubmit, также пробывал и другие: OnFieldChange, OnRowChange. Название: Re: QSqlRelationalTableModel не сохраняет данные Отправлено: pastor от Май 02, 2009, 09:38 Укажи версию Qt, платформу, используемую БД
Название: Re: QSqlRelationalTableModel не сохраняет данные Отправлено: Agarb от Май 02, 2009, 09:42 Укажи версию Qt, платформу, используемую БД Qt 4.5.0, Win32, SQLite3 (с MySQL 5 тоже самое)уже немножко разобрался - копаю в сторону первичных ключей... Название: Re: QSqlRelationalTableModel не сохраняет данные Отправлено: Agarb от Май 02, 2009, 15:00 Проблема была решена тем, что во всех таблицах, учавствующих в отношении, были созданы (там где не было) столбцы id и назначены первичными ключами.
Название: Re: QSqlRelationalTableModel не сохраняет данные Отправлено: break от Май 24, 2009, 01:42 Код: Проблема была решена тем, что во всех таблицах, учавствующих в отношении, были созданы (там где не было) столбцы id и назначены первичными ключами. Это все спецы вообще для всех таблиц рекомендуют - и чтобы ключи "суррогатными" были, а некоторые даже уверяют что лучше использовать один сквозной счетчик по всем таблицам - тогда вроде вообще 2-х повторяющихся ID не будет... Название: Re: QSqlRelationalTableModel не сохраняет данные Отправлено: hic от Июль 03, 2009, 15:12 Есть похожая проблема. Первичный ключ создан, поле автоинкрементное. Таблица отображается нормально, После добавления и редактирования новых строк на submitAll() ругается: No Fields to update. Вот код:
Код: model = new QSqlTableModel(this); Юзаю Qt 4.5.0, платформа: ubuntu 9.04, база: mysql 5.0 Название: Re: QSqlRelationalTableModel не сохраняет данные Отправлено: DenisKh001 от Июнь 13, 2011, 12:29 Да, была та же самая проблема - никак не сохранялись данные. Поставил во ВСЕХ таблицах первичные ключи и все заработало. Даже там где они по сути и не нужны были.
|