Russian Qt Forum
Ноябрь 23, 2024, 18:35
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B? (Прочитано 7512 раз)
Druxa
Гость
QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
:
Сентябрь 20, 2007, 18:04 »
есть QSqlTableModel которая вставляется в QTableView, как добавить в модель и связать с видом свой какой-нибудь расчёт?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #1 :
Сентябрь 20, 2007, 18:09 »
Возможно туплю, но что-то типа
SELECT base1.id,base1.name,base1.money*base2.money FROM base1,base2 WHERE base1.kurs=base2.id
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Druxa
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #2 :
Сентябрь 20, 2007, 18:24 »
Цитата: panter_dsd от Сентябрь 20, 2007, 18:09
Возможно туплю, но что-то типа
SELECT base1.id,base1.name,base1.money*base2.money FROM base1,base2 WHERE base1.kurs=base2.id
Не не надо средствами БД, не хочу её перегружать.
Записан
Вячеслав
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #3 :
Сентябрь 20, 2007, 18:28 »
Цитата: Druxa от Сентябрь 20, 2007, 18:24
Цитата: panter_dsd от Сентябрь 20, 2007, 18:09
Возможно туплю, но что-то типа
SELECT base1.id,base1.name,base1.money*base2.money FROM base1,base2 WHERE base1.kurs=base2.id
Не не надо средствами БД, не хочу её перегружать.
Для любого современного сервака _такие_ расчеты - ничто.... Ты его больше выборкой нагрузишь(в сысле чтением с диска)
Да и намного проще однако
Записан
ритт
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #4 :
Сентябрь 20, 2007, 20:46 »
>Для любого современного сервака _такие_ расчеты - ничто...
согласен.
но не проблема ведь сделать и средствами кутэ, причём, задача тривиальная.
наследуешься от QSqlQueryModel и перегружаешь метод QVariant data(const QModelIndex& index, int role) const
по индексу узнаёшь номер столбца (или параметр, по которому будешь определять в какой столбец/строку писать расчётные данные) и вызовами даты из требуемых ячеек набираешь исходные данные для обсчёта
советую между вью и моделью поставить фильтрсортпроксимодель - весьма качественная прослойка
а, да...практически забыл: перегрузи ещё ровКаунт и колКаунт
«
Последнее редактирование: Сентябрь 20, 2007, 20:48 от xep
»
Записан
Вячеслав
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #5 :
Сентябрь 20, 2007, 22:21 »
Цитата: xep от Сентябрь 20, 2007, 20:46
>Для любого современного сервака _такие_ расчеты - ничто...
согласен.
но не проблема ведь сделать и средствами кутэ, причём, задача тривиальная.
наследуешься от QSqlQueryModel и перегружаешь метод QVariant data(const QModelIndex& index, int role) const
по индексу узнаёшь номер столбца (или параметр, по которому будешь определять в какой столбец/строку писать расчётные данные) и вызовами даты из требуемых ячеек набираешь исходные данные для обсчёта
советую между вью и моделью поставить фильтрсортпроксимодель - весьма качественная прослойка
а, да...практически забыл: перегрузи ещё ровКаунт и колКаунт
Ну да .... дописать ~50 символов в запрос или городить свой класс - каждый выбирает сам ;)Мне ехать(и нехай сервак думает - будет возникать или запросы причешу или еще мозгов добавлю
побыстрее.....
Записан
ритт
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #6 :
Сентябрь 20, 2007, 23:24 »
ну, если у него в третьем столбце простая арифметика, то, конечно, проще запросом и не ипсти мозги на форуме...
а ежели какое-нибудь моделирование или др. сложные вычисления? - тоже запросегом?
Записан
Вячеслав
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #7 :
Сентябрь 21, 2007, 09:32 »
Цитата: xep от Сентябрь 20, 2007, 23:24
ну, если у него в третьем столбце простая арифметика, то, конечно, проще запросом и не ипсти мозги на форуме...
а ежели какое-нибудь моделирование или др. сложные вычисления? - тоже запросегом?
Пример можно ? моделирования ?
Вариантов-то масса
И для каждого случая надо свой ввыбирать по месту .... Бензопилой картошку тоже чистить можно, но вот удобно-ли ?
Записан
ритт
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #8 :
Сентябрь 21, 2007, 10:07 »
ну, так-то да...если ему конкретно формула из сабжа была нужна, то тема давно исчерпана
Записан
matsumoto
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #9 :
Сентябрь 21, 2007, 11:46 »
Цитата: xep от Сентябрь 20, 2007, 20:46
советую между вью и моделью поставить фильтрсортпроксимодель - весьма качественная прослойка
что за прослойка такая? можно поподробнее?
Записан
Druxa
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #10 :
Сентябрь 21, 2007, 21:08 »
Народ, расчёт простой, но их штук 10 нужно сделать, что стандартных Qt методов нету как я понял
Записан
Вячеслав
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #11 :
Сентябрь 21, 2007, 21:46 »
если математика простая - пихай в запрос
Если что-нибудь типа статистики - или делай свой класс как выше советовали или смотри в сторону ХП ....
Записан
Icoz
Гость
Re: QSqlTableModel есть 2 SQL колонки, как сделать не SQL 3-ю A*B?
«
Ответ #12 :
Сентябрь 25, 2007, 19:30 »
Цитата: matsumoto от Сентябрь 21, 2007, 11:46
Цитата: xep от Сентябрь 20, 2007, 20:46
советую между вью и моделью поставить фильтрсортпроксимодель - весьма качественная прослойка
что за прослойка такая? можно поподробнее?
Думаю тебе про
http://doc.trolltech.com/4.3/qproxymodel.html#details
пытались сказать...
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...