![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
bayah |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 31 Регистрация: 23.11.2009 Пользователь №: 1249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Господа, вот суть проблемы.
Есть две таблицы: Таблица Специальность, содержащая два поля: Код специальности(ключевое) и Имя специальности. Таблица План, содержащая так же два поля: Код Плана(ключевое) и Код специальности(ключевое). Вопрос такой: Как сделать так, чтобы в таблице План, Код специальности заменялся бы соответсвющими значениями Имя специальности из таблицы Специальность. И еще вопрос, как через QSqlTableModdel на QTableView выводить не всю таблицу. Например, мне ну нежно, чтобы в таблице Специальность отображалось поле Код Специальности а было только Имя Специальности. Я отображаю так: QSqlTableModel *spec = new QSqlTableModel; plan->setTable("PLAN"); plan->select(); |
|
|
kibsoft |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Вопрос такой: Как сделать так, чтобы в таблице План, Код специальности заменялся бы соответсвющими значениями Имя специальности из таблицы Специальность. Берешь QSqlQueryModel, пишешь запрос типа: SELECT КодПлана,ИмяСпециальности FROM План,Специальность WHERE План.КодСпециальности=Специальность.КодСпециальности Убрать 1 столбец можно так:
P.S. Читайте документацию, в ней все есть! Документация от Qt - это не MSDN, где можно найти только кукиш. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Как сделать так, чтобы в таблице План, Код специальности заменялся бы соответсвющими значениями Имя специальности из таблицы Специальность. изучай асистент:Модуль QtSql > Модель реляционной таблицы SQL |
|
|
bayah |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 31 Регистрация: 23.11.2009 Пользователь №: 1249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
QSqlQueryModel
Берешь QSqlQueryModel, пишешь запрос типа: SELECT КодПлана,ИмяСпециальности FROM План,Специальность WHERE План.КодСпециальности=Специальность.КодСпециальности Да, запрос можно сделать с помощью QSqlQueryModel, вот только как потом с этой выборкой работать через методы QSqlTableModel? Возможно ли вообще? Или необходимость формировать сложные запросы, используя несколько таблиц приводит к необходимости использовать более низкоуровневые модели. Короче делать мне все это на QSqlQuery остаестя?) |
|
|
MoPDoBoPoT |
![]()
Сообщение
#5
|
Участник ![]() ![]() Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: ![]() ![]() ![]() |
bayah, во-первых, посмотри что тебе ответил Litkevich Yuriy. Во-вторых, для сложных запросов еще можно использовать представления БД (для обновления данных в представлении оно должно отвечать требованиям обновляемости, но это уже к стандарту SQL и специфики конкретной СУБД).
Сообщение отредактировал MoPDoBoPoT - 31.5.2010, 13:52 |
|
|
bayah |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 31 Регистрация: 23.11.2009 Пользователь №: 1249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
bayah, во-первых, посмотри что тебе ответил Litkevich Yuriy. Во-вторых, для сложных запросов еще можно использовать представления БД (для обновления данных в представлении оно должно отвечать требованиям обновляемости, но это уже к стандарту SQL и специфики конкретной СУБД). Пардон, не прочел сообщение Litkevich Yuriy. Litkevich Yuriy, вам спасибо. MoPDoBoPoT, я уже как раз сделал используя представления(если мы говорим об одном? представления это то что CREATE VIEW?) и да - через представления не проходит обновление. Поэтому я использовал представление для получения и отображения информации, а обновлял уже непосредственно основные таблицы БД. Сейчас попробую через Модель реляционной таблицы SQL, может лучше все это будет выглядеть. Спасибо. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.5.2022, 11:59 |