Здравствуйте, гость ( Вход | Регистрация )
|
grio |
30.11.2009, 11:59
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0
|
В текущей версии QSQLITE драйвера, метод QSqlQuery::Size(); не реализован.
На запрос QSqlDriver::hasFeature(QSqlDriver::QuerySize) возвращается false. Как еще можно быстро получить количество возвращаемых строк по SQL запросу? Я хочу сделать Progress Bar для долгого запроса к базе, как это лучше реализавать? |
|
|
|
![]() |
|
Litkevich Yuriy |
30.11.2009, 13:28
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
grio, для того, чтобы узнать сколько запрос вернёт, надо использовать запрос кол-ва из самой БД, как сказал panter_dsd,
Цитата(grio @ 30.11.2009, 14:59) Link Я хочу сделать Progress Bar для долгого запроса к базе, как это лучше реализавать? А это ты вообще не реализуешь через Qt, т.к. весь запрос будет "думать" в БД. Когда БД будет готова отдать данные, она их будет отдавать с большой скоростью, с такой с какой в состоянии получать приложение
|
|
|
|
|
grio |
30.11.2009, 14:11
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0
|
Цитата(Litkevich Yuriy @ 30.11.2009, 13:28) Link А это ты вообще не реализуешь через Qt, т.к. весь запрос будет "думать" в БД. Когда БД будет готова отдать данные, она их будет отдавать с большой скоростью, с такой с какой в состоянии получать приложение Я не правильно выразился, не для долгого запроса к базе, а для запросов с большим уровнем вложенности. Цитата(521es) while(q.next()) qsize++; 512es, ты выбрал далеко не самый быстрый способ подсчитать строки. |
|
|
|
grio QSQLITE Драйвер и QuerySize 30.11.2009, 11:59
panter_dsd Используй SELECT count(*). 30.11.2009, 12:35
512es Цитата(panter_dsd @ 30.11.2009, 13:35) Ис... 30.11.2009, 13:06
BRE Еще можно так попробовать:
if( m_query->la... 30.11.2009, 13:09
Kagami Кстати, если операция долгая, попробуй использоват... 30.11.2009, 14:07![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 15.12.2025, 10:52 |