QDataWidgetMapper и изменение foregn key |
Здравствуйте, гость ( Вход | Регистрация )
QDataWidgetMapper и изменение foregn key |
Begemot |
28.5.2010, 17:44
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 15.5.2010 Пользователь №: 1718 Спасибо сказали: 0 раз(а) Репутация: 0 |
Случилось тут проблема, и уже больше суток не могу решить, пробовал разные подходы все или вообще не работает или работает но через раз (не шучу).
Есть MySqlRelationalTableModel, у нее одно из полей внешний ключ (fkey) ну и соответвенно связанная таблица ID, Name. Все поля таблицы привязаны к виджетам на форме через QDataWidgetMapper, fkey привязан к QLineEdit. Отображается все отлично, вместо значения ключа я вижу соответвующий Name из связанной таблицы. Вопрос как правильно програмно изменить это значение. Для юзера это выглядит так - QLineEdit read only, по щелчку на нему - открывается диалог, в котором список Name - пользователь выбирает нужное или _вводит новое_, я получаю строку которую он выбрал\ввел. Как мне теперь правильно изменить значение в главной модели и все это сохранить в бд? |
|
|
Begemot |
30.5.2010, 13:13
Сообщение
#2
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 15.5.2010 Пользователь №: 1718 Спасибо сказали: 0 раз(а) Репутация: 0 |
Допустил ошибку, надо поправить код создания базы данных сделав id автоинкрементным столбцами, надо заменить две соответвующие строчки на эти
query.exec("create table person (id integer primary key, name varchar(20), address varchar(200), typeid int)"); query.exec("create table addresstype (id integer primary key, description varchar(20))"); |
|
|
Текстовая версия | Сейчас: 25.11.2024, 13:23 |