crossplatform.ru

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

> QSqlTableModel Выборка полей, QSqlTableModel Выборка полей
fortero
  опции профиля:
сообщение 6.4.2011, 23:42
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 132
Регистрация: 4.12.2010
Пользователь №: 2242

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброе время суток, народ подскажите начинающему как в классе QSqlTableModel, сделать выборку нужных полей по умолчанию примерно следующее SELECT * FROM table;
А как мне сделать что бы он выбирал к примеру только SELECT id, name FROM table ???
Фильтр не канает… пробовал(((
Спасибо за внимание…
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
PAFOS
  опции профиля:
сообщение 7.4.2011, 8:27
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


Ну почему же выбирать)

QSqlTableModel наследуется от QSqlQueryModel, в которой есть метод setQuery().
Однако в QSqlTableModel он является защиненным (мне лично непонятно как :unsure: )

Есть хитрость:
Воспользуемся преимуществами наследования.

QSqlTableModel *tableModel = new QSqlTableModel();
QSqlQueryModel *queryModel = dynamic_cast<QSqlQueryModel*>(tableModel);
queryModel->setQuery( .... );


И вуаля! Все сработало)


Сообщение отредактировал PAFOS - 7.4.2011, 8:28
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fortero
  опции профиля:
сообщение 7.4.2011, 11:46
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 132
Регистрация: 4.12.2010
Пользователь №: 2242

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(PAFOS @ 7.4.2011, 8:27) *
Ну почему же выбирать)

QSqlTableModel наследуется от QSqlQueryModel, в которой есть метод setQuery().
Однако в QSqlTableModel он является защиненным (мне лично непонятно как :unsure: )

Есть хитрость:
Воспользуемся преимуществами наследования.

QSqlTableModel *tableModel = new QSqlTableModel();
QSqlQueryModel *queryModel = dynamic_cast<QSqlQueryModel*>(tableModel);
queryModel->setQuery( .... );


И вуаля! Все сработало)


Это очень интересно, Спасибо Вам большое!
А можно прокаментировать строчки я новичок, можно дотошно обяснить по шагово мне это очень интересно!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 21:18