Odysseos

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору alexssss1 Вы путаете select ("отбор", если угодно), и fetch (выборку). Можно как угодно точно отфильтровать нужные записи - и в where, и в join'ах, и в first ... skip - но это не выборка записей на клиента. После выполнения select'а на клиентскую сторону не возвращается ничего - кроме статуса, случилась ошибка или нет. И только клиент может потом сказать - "перешли-ка мне первую запись из полученного набора"/"перешли-ка мне следующую запись из полученного набора". Здесь "клиент" - клиентская dll-ка, работающая с сервером на низком уровне. Ее, в свою очередь, используют более высокоуровневые "клиенты" - idapi.dll (ядро BDE) + Delphi-обертка над BDE (TTable и TQuery), dbExpress, т.н. "нативные" компоненты, а потом может быть и еще один уровень - TClientDataSet или TMemTableEh через соотв. провайдер... Как, с какими особенностями каждый из этих "стеков" выполняет fetch - надо разбираться отдельно. Какие-то могут делать всегда полный fetch, какие-то - поступать "умно", подкачивая только те строки, которые клиент реально захотел увидеть (например - по мере прокрутки scrollbar'а в сетке) - с разной степенью "умности", причем. | Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 12:35 23-03-2010 | Исправлено: Odysseos, 12:36 23-03-2010 |
|