Russian Qt Forum
Апреля 22, 2025, 01:50
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
Модель И БД
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Модель И БД (Прочитано 3781 раз)
BaltikS
Гость
Модель И БД
«
:
Апреля 19, 2010, 13:48 »
Имеется модель(в главном потоке), в ней около 1000 записей. Необходимо произвести обновление из БД. Как лучше поступить?
Сейчас сделано путём перебора всех записей и поиск записей отличных от БД и обновление! Но этот вариант подвисает на секунд 5, что не очень хорошо... Как ускорить обновление?
Записан
andrewshkovskii
Гость
Re: Модель И БД
«
Ответ #1 :
Апреля 19, 2010, 13:50 »
обновлять только видимые пользователю данные?т.е, допустим пользователь видит первые 50 строк - их и обновлять ЕСЛИ они(строки/данные) в этом нуждаются.
Записан
BaltikS
Гость
Re: Модель И БД
«
Ответ #2 :
Апреля 19, 2010, 14:02 »
Цитата: andrewshkovskii от Апреля 19, 2010, 13:50
обновлять только видимые пользователю данные?т.е, допустим пользователь видит первые 50 строк - их и обновлять ЕСЛИ они(строки/данные) в этом нуждаются.
нет, нужно обновлять всю модель, потома как вдруг пользователь прокрутит скроллинг.... Да и View у меня несколько...
Записан
Kolobok
Гость
Re: Модель И БД
«
Ответ #3 :
Апреля 19, 2010, 14:10 »
А почему модель данные не из базы берет?
Записан
BaltikS
Гость
Re: Модель И БД
«
Ответ #4 :
Апреля 19, 2010, 17:59 »
Kolobok, потому что часть данных берётся не из базы.... Я понимаю, можно QSqlQueryModel унаследовать и всё такое.....но уж больно прийдётся много всего перелапачивать, что не хочется. Может есть более разумные способы?
Записан
Kolobok
Гость
Re: Модель И БД
«
Ответ #5 :
Апреля 19, 2010, 18:11 »
Почему много? Переписать надо только модель. Часть данных будет возвращать QSqlQueryModel, остальное тот механизм, который у тебя сейчас есть.
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...