Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня! В неком приложении используется много QComboBox с привязкой к QSqlQueryModel (справочники), в моделях по 500 записей и более. Так при загрузке данных необходимо установить QCombobox'ам текущую запись из модели. Сейчас делаю через цикл for. Данный метод, при больших объемах занимает порядком много времени. Как ускорить операцию установки текущей записи? В некоторый (для особо больших объемов) использую QCompleter, но не везде это выход. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 14:07 |
|
||
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
Можно пояснить, что значит "текущая запись"? У QSqlQueryModel нет соответствующего свойства. А еще лучше - показать код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 15:51 |
|
||
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
rovan, Текущая запись в QComboBox. Делаем выборку в модели и устанавливаем для QCombobox модель. В модели не меньше 500 записей!! Код: plaintext 1. 2. 3. 4. Нужно установить ьтекущую запись с un_id = 430, что нужно для этого сделать? Код: plaintext 1. 2. 3. 4. 5. 6. Проходим в цикле, и ищим нужное нам un_id, если находим то ставим текущую запись QCombobox'а равное i.] Такой подход изначально неверен, но другого я не знаю. Что можно здесь сделать? Как ускорить? Когда записей 10-100, это не заметно, но когда их переваливает за 500, а если еще и не одна такая модель, то это затягивается на долго! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 16:30 |
|
||
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
Wulff, вот этот цикл, когда записей в модели 100000, у меня выполняется максимум за 200мс. Код: plaintext 1. 2. 3. 4. 5. 6. Может основная задержка в получении данных из БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2013, 06:22 |
|
||
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
m_Sla, Все верно! Задержки со стороны БД нет однозначно. Этот код выполняется быстро, относительно одной модели, но когда их больше чем 1, то задержка уже становится ощутимой. Например сейчас в проекте таких моделей 9, понимаете о чем я? В среднем задержка выходит около 1 - 1.5 сек. Не критично в принципе, но на глаз видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2013, 09:39 |
|
||
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. Что это и откуда берётся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 13:58 |
|
||
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
Имеется в виду переменная index. Не выделилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 14:07 |
|
||
|
Поиск номера строки в QSqlQueryModel
|
|||
|---|---|---|---|
|
#18+
Wulffm_Sla, Все верно! Задержки со стороны БД нет однозначно. Этот код выполняется быстро, относительно одной модели, но когда их больше чем 1, то задержка уже становится ощутимой. Например сейчас в проекте таких моделей 9, понимаете о чем я? В среднем задержка выходит около 1 - 1.5 сек. Не критично в принципе, но на глаз видно.Цикл вносит минимальную задержку. Ищи затык в другом месте. Для примера написал приложение с 5 моделями по 100000 записей в каждой. Задержка в среднем 200мс. При 500 записей задержку вообще не увидешь. button_click_handler.h Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. button_click_handler.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. main.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 14:27 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38176019&tid=2020392]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 258ms |

| 0 / 0 |
