crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 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 Текстовая версия Сейчас: 28.3.2024, 21:14