Russian Qt Forum

Qt => Базы данных => Тема начата: sindbad07 от Май 03, 2010, 17:43



Название: Как редактировать на одной форме связанные записи из двух таблиц
Отправлено: sindbad07 от Май 03, 2010, 17:43
У меня есть 2 связанные таблицы ( один-к-одному ) с информацией о товарах:
- в одной храняться общие поля ( например название, тип товара )
- в другой уточняющие в зависимости от типа ( например размер или цвет )

Я хочу сделать форму для редактирования информации о товарах, заранее оговорюсь, что формы будут отдельные для каждого типа товаров, вопрос - что лучше:
- создать два QDataWidgetMapper'а ( для каждой таблицы ) и соответственно две модели QSqlTableModel
- другой вариант (типа QSqlQueryModel с припонами)?

Буду благодарен за совет от бывалых  :)



Название: Re: Как редактировать на одной форме связанные записи из двух таблиц
Отправлено: asvil от Май 03, 2010, 22:33
Лучше MS Access + odbc или любое другое приложения для построения графических оболочек для баз данных.
В qt лучше:
Создать две модели, и соответственно два представления.
Соединиться с сигналом currentIndexChanged() главного представления. В присоединенном слоте установить фильтр для второстепенной модели, используя значение ключевого столбца главной модели. Далее создаем какой-либо граф. интерфейс для добавления удаления строк из sql моделей. Вроде все.


Название: Re: Как редактировать на одной форме связанные записи из двух таблиц
Отправлено: sindbad07 от Май 03, 2010, 22:59
Лучше MS Access + odbc или любое другое приложения для построения графических оболочек для баз данных.
Вот ето чет не фтыкает т.к. делал в былые времена курсовую на Access 2000 ессно с вкраплениями VB-страз :) да и задача у меня по QT
По сабжу уже часа два как наваял форму с двумя моделями и соответсвенно двумя дата-мапперами, о чем ни грамма ни жалею.
Просто спрашивал на случай, что кто-нибудь более элегантный (люблю это слово) метод посоветует.
Спасибо за внимание.


Название: Re: Как редактировать на одной форме связанные записи из двух таблиц
Отправлено: asvil от Май 03, 2010, 23:12
Как реализовано добавление/удаление записей из моделей?
Как данные сохраняются в БД ("editTriggers")
(после перемещения фокуса/ после перемещения к другой записи/вручную )?
Как легко можно будет добавить новые поля таблиц?
Как легко можно вставить несколько записей?
Как легко можно сохранить полученный набор записей?
Как легко можно граф. интерфейс для редактирования только определенного набора записей?


Название: Re: Как редактировать на одной форме связанн&
Отправлено: sindbad07 от Май 03, 2010, 23:45
Как реализовано добавление/удаление записей из моделей?
Как данные сохраняются в БД ("editTriggers")
(после перемещения фокуса/ после перемещения к другой записи/вручную )?
Как легко можно будет добавить новые поля таблиц?
Как легко можно вставить несколько записей?
Как легко можно сохранить полученный набор записей?
Как легко можно граф. интерфейс для редактирования только определенного набора записей?
Позвольте мне не отвечать на эти вопросы по MsAccess, я в данный момент работаю исключительно с QT и сервером баз данных, Access мне не интересен.
П.С: от себя добавлю ИМХО Access (+VB) прост в освоении/понимании сути происходящего и хорошо подходит для вводного обучения разработке СУБД в учебных заведениях, для работы с qt надо уметь рисовать на C++, и потом ковырять его классы, допиливая их под свои нужды. Если бы в QT это усё было бы нереально сделать, то я в этот форум сейчас не писал бы своих вопросов.