![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
grio |
![]() ![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
В текущей версии QSQLITE драйвера, метод QSqlQuery::Size(); не реализован.
На запрос QSqlDriver::hasFeature(QSqlDriver::QuerySize) возвращается false. Как еще можно быстро получить количество возвращаемых строк по SQL запросу? Я хочу сделать Progress Bar для долгого запроса к базе, как это лучше реализавать? |
|
|
panter_dsd |
![]()
Сообщение
#2
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Используй SELECT count(*).
|
|
|
512es |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
BRE |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Еще можно так попробовать:
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
grio, для того, чтобы узнать сколько запрос вернёт, надо использовать запрос кол-ва из самой БД, как сказал panter_dsd,
Я хочу сделать Progress Bar для долгого запроса к базе, как это лучше реализавать? А это ты вообще не реализуешь через Qt, т.к. весь запрос будет "думать" в БД. Когда БД будет готова отдать данные, она их будет отдавать с большой скоростью, с такой с какой в состоянии получать приложение
|
|
|
Kagami |
![]()
Сообщение
#6
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
Кстати, если операция долгая, попробуй использовать транзакции. Для sqlite cильно ускоряет работу, так как снижается число обращений к диску.
|
|
|
grio |
![]()
Сообщение
#7
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
А это ты вообще не реализуешь через Qt, т.к. весь запрос будет "думать" в БД. Когда БД будет готова отдать данные, она их будет отдавать с большой скоростью, с такой с какой в состоянии получать приложение Я не правильно выразился, не для долгого запроса к базе, а для запросов с большим уровнем вложенности. Цитата(521es) while(q.next()) qsize++; 512es, ты выбрал далеко не самый быстрый способ подсчитать строки. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 2:07 |