Здравствуйте, bmv, Вы писали:
bmv>Здраствуйте. Есть проблема
, может кто занимался или есть мысли в каком напрвлении двигаться — подскажите.
bmv>Пишется 3-звенная прилага (Delphi6-Delphi6-MSSQL2000). Связь с СП через TSocketConnection, с MSSQL — через BDE.
bmv>Необходимо организовать загрузку большого объема данных (много записей). Так как скорость критична, желательно скачивать данные порциями, но плавно (не заметно для клиента) — то ли как-то реагировать на прокрутку, то ли еще что...
bmv>Заранее спасибо за подсказки
1. Зачем клиенту большой объем данных
сразу?
2. "Данные закачиваются порциями" = TClientDataSet.PacketRecords
a. PacketRecords is automatically set to -1, meaning that a single packet should contain all records in the dataset.
b. If PacketRecords is greater than zero, then it specifies the number of records to return in a packet.
c. To retrieve the metadata for a dataset, set PacketRecords to 0. When PacketRecords is zero, the provider returns only information from its dataset that defines the database’s structure, such as table, column, constraint, and domain definitions.
3. "как-то реагировать на прокрутку" (не знаю,
где прокрутка, на вскидку) TClientDataSet.DisableControls/TClientDataSet.EnableControls
4. Мастер-детаил при больших объемах данных лучше строить на клиенте т.к. для каждой записи мастера выполняется запрос, упаковываются данные в пакет и пересылаются клиенту. Лучше 2 запросами все вытянуть и связать на клинте.
5. "с MSSQL — через BDE"

используй ADO.
P.S. Хорошенько подумай над пунктом 1.