crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Замена поля в таблице.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
bayah Дата 1.6.2010, 12:08
 
Цитата(MoPDoBoPoT @ 31.5.2010, 14:51) *
bayah, во-первых, посмотри что тебе ответил Litkevich Yuriy. Во-вторых, для сложных запросов еще можно использовать представления БД (для обновления данных в представлении оно должно отвечать требованиям обновляемости, но это уже к стандарту SQL и специфики конкретной СУБД).


Пардон, не прочел сообщение Litkevich Yuriy.
Litkevich Yuriy, вам спасибо.

MoPDoBoPoT, я уже как раз сделал используя представления(если мы говорим об одном? представления это то что CREATE VIEW?) и да - через представления не проходит обновление. Поэтому я использовал представление для получения и отображения информации, а обновлял уже непосредственно основные таблицы БД.

Сейчас попробую через Модель реляционной таблицы SQL, может лучше все это будет выглядеть.
Спасибо.
MoPDoBoPoT Дата 31.5.2010, 13:51
  bayah, во-первых, посмотри что тебе ответил Litkevich Yuriy. Во-вторых, для сложных запросов еще можно использовать представления БД (для обновления данных в представлении оно должно отвечать требованиям обновляемости, но это уже к стандарту SQL и специфики конкретной СУБД).
bayah Дата 31.5.2010, 8:00
  QSqlQueryModel
Цитата(kibsoft @ 29.5.2010, 17:42) *
Берешь QSqlQueryModel, пишешь запрос типа:
SELECT КодПлана,ИмяСпециальности FROM План,Специальность WHERE План.КодСпециальности=Специальность.КодСпециальности


Да, запрос можно сделать с помощью QSqlQueryModel, вот только как потом с этой выборкой работать через методы QSqlTableModel? Возможно ли вообще?

Или необходимость формировать сложные запросы, используя несколько таблиц приводит к необходимости использовать более низкоуровневые модели. Короче делать мне все это на QSqlQuery остаестя?)
Litkevich Yuriy Дата 29.5.2010, 18:22
 
Цитата(bayah @ 29.5.2010, 19:23) *
Как сделать так, чтобы в таблице План, Код специальности заменялся бы соответсвющими значениями Имя специальности из таблицы Специальность.
изучай асистент:
Модуль QtSql > Модель реляционной таблицы SQL
kibsoft Дата 29.5.2010, 16:42
 
Цитата
Вопрос такой: Как сделать так, чтобы в таблице План, Код специальности заменялся бы соответсвющими значениями Имя специальности из таблицы Специальность.

Берешь QSqlQueryModel, пишешь запрос типа:
SELECT КодПлана,ИмяСпециальности FROM План,Специальность WHERE План.КодСпециальности=Специальность.КодСпециальности

Убрать 1 столбец можно так:
QSqlTableModel *spec = new QSqlTableModel;
spec->removeColumn(0);


P.S. Читайте документацию, в ней все есть! Документация от Qt - это не MSDN, где можно найти только кукиш.
bayah Дата 29.5.2010, 15:23
  Господа, вот суть проблемы.
Есть две таблицы:


Таблица Специальность, содержащая два поля: Код специальности(ключевое) и Имя специальности.
Таблица План, содержащая так же два поля: Код Плана(ключевое) и Код специальности(ключевое).

Вопрос такой: Как сделать так, чтобы в таблице План, Код специальности заменялся бы соответсвющими значениями Имя специальности из таблицы Специальность.

И еще вопрос, как через QSqlTableModdel на QTableView выводить не всю таблицу. Например, мне ну нежно, чтобы в таблице Специальность отображалось поле Код Специальности а было только Имя Специальности.

Я отображаю так:
QSqlTableModel *spec = new QSqlTableModel;
plan->setTable("PLAN");
plan->select();
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.7.2025, 10:51