Russian Qt Forum
Ноябрь 22, 2024, 18:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlRelationalTableModel и SELECT  (Прочитано 10398 раз)
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« : Июль 20, 2020, 22:36 »

Как сделать выборку из БД только нужных мне параметров, нашел только как потом скрыть ненужные столбцы при отображении на QTableView.
Также есть setFilter но это относится не к SELECT а к WHERE.
В базе есть поля BLOB и выкачивать их каждый раз не комильфо. Дико подвисает.
Есть ли возможность сделать выборку только с нужными мне полями?
Или как всегда если хочешь по человечески то только ручками свои компоненты, а все готовое только пыль в глаза.

P.S. заменить BLOB на ссылки на файлы не предлагать, вопрос даже не столько в BLOB, а в самой возможности задать SELECT при вызове setTable
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июль 21, 2020, 08:19 »

QSqlQueryModel?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« Ответ #2 : Июль 21, 2020, 11:24 »

QSqlRelationalTableModel + QTableView

Речь именно о автоматическом отображении базы на QTableView, без написания своего кода для этого
« Последнее редактирование: Июль 21, 2020, 11:31 от KSergeyP » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Июль 21, 2020, 16:17 »

Тебе нужен нестандартный запрос, вот и бери QSqlQueryModel + QTableView
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« Ответ #4 : Июль 21, 2020, 22:54 »

Что там нестандартного обычный SELECT, просто поля выбрать
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #5 : Июль 22, 2020, 07:36 »

QSqlRelationalTableModel для отображения всей таблицы из базы. Для отображения запроса QSqlQueryModel.
Можно, конечно, дальше сопротивляться и прикручивать костыли к таблице и страдать от выкачивания BLOB Улыбающийся
Записан
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« Ответ #6 : Июль 22, 2020, 21:30 »

А как к QSqlQueryModel прикрутить  внешние ключи (RelationalTable)
И все же непонятно почему нельзя было сделать настройку SELECT для QSqlRelationalTableModel
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Июль 22, 2020, 21:37 »

Используй JOIN для внешних ключей.
« Последнее редактирование: Июль 22, 2020, 21:39 от Пантер » Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« Ответ #8 : Июль 23, 2020, 14:55 »

И они автоматом в виде comboboxa будут отображаться на QTableView как и с QSqlRelationalTableModel?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Июль 23, 2020, 16:32 »

Неа. Для этого свой делегат придется намутить Улыбающийся Попробуй покопаться в кишках QSqlRelationalTableModel, может, получится от нее отнаследоваться и как-то убрать поля из выборки.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
KSergeyP
Новичок

Offline Offline

Сообщений: 27


Просмотр профиля
« Ответ #10 : Июль 31, 2020, 20:26 »

Это я вряд ли сам осилю, вот если бы кто то ссылку дал на что то подобное, уже сделанное
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.