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