powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Paged data retrieving в гриде
3 сообщений из 3, страница 1 из 1
Paged data retrieving в гриде
    #35447905
Дмитрий Исаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть VSFlexGrid на VB6, хочется, чтобы при открытии рекордсета он не всю таблицу тащил с SQL-сервера, а только то, что (грубо говоря) помещается на экране, типа как Аксесс (если это MDB) дёргает по 10 записей:

Профайлерdeclare @P1 int
set @P1=1
exec sp_prepexec @P1 output, N'@P1 int,@P2 int,@P3 int,@P4 int,@P5 int,@P6 int,@P7 int,@P8 int,@P9 int,@P10 int', N'SELECT "idOrders","cBookName" FROM "dbo"."EOPO_OrdersFull" WHERE "idOrders" = @P1 OR "idOrders" = @P2 OR "idOrders" = @P3 OR "idOrders" = @P4 OR "idOrders" = @P5 OR "idOrders" = @P6 OR "idOrders" = @P7 OR "idOrders" = @P8 OR "idOrders" = @P9 OR "idOrders" = @P10', 68196, 68195, 76222, 102831, 121398, 85164, 90659, 76826, 107808, 107803
select @P1и далее, при прокрутке, по необходимости:
Профайлерexec sp_execute 1, 104809, 102239, 72734, 84679, 70756, 56659, 95913, 75459, 64982, 108314ну и т.д.

Похожим образом это сделано в Janus (соответственно, есть свойство FullyLoaded и метод LoadEntireRecordset, очень удобно). Но условия такие, что вместо GridEx нужно использовать VSFlexGrid. Пробовал несколько дата-контролов - все они качают базу целиком без всяких там FullyLoaded...

TOP ... и прочее изменение архитектуры не предлагать - при необходимости юзер имеет право пролистать хоть до конца все 70к записей без отдельных нажатий на кнопки.

P.S. Отдельное спасибо тому, кто переведёт на русский "Paged data retrieving" так же коротко.
...
Рейтинг: 0 / 0
Paged data retrieving в гриде
    #35448064
Дмитрий Исаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сообразил! Конечно, если после...Private db As DAO.Database
Private rsBooks As DAO.Recordset
...
Set db = OpenDatabase("...", False, False, ...)
strQuery = "SELECT ..."
Set rsBooks = db.OpenRecordset(strQuery)
Set DAOBooks.Recordset = rsBooks ' здесь DAOBooks - контрол типа Data...не присваивать тупо DataSource гриду, а накатать свой код загрузки из Data в VSFlexGrid, то задача решается, хотя относительно криво и неудобно. По-прежнему ищется более красивое решение! Хочу, как в Янусе...
...
Рейтинг: 0 / 0
Paged data retrieving в гриде
    #35448079
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Постраничная выборка данных :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Paged data retrieving в гриде
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]