Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];

Вниз

Как заставить ADOQuery не скачивать все записи набора данных?   Найти похожие ветки 

 
Askik   (2003-04-18 15:44) [0]

Как заставить ADOQuery не скачивать все записи набора данных, а только по мере необходимости, т. е. чтобы он не делал сразу Fetch для всех записей?


 
super   (2003-04-18 16:03) [1]

Нада делать TOP N или Fetch:=false;

тока он всё равно вернет тебе всё но всё ты не увидишь...


 
Askik   (2003-04-18 16:22) [2]

>>Нада делать TOP N или Fetch:=false;
А можно узнать а где это делать?

>>тока он всё равно вернет тебе всё но всё ты не увидишь...

Что-то непонятно, получается, что у ADO есть такой большой минус - при запросах скачиваются ВСЕ ЗАПИСИ?
Чтобы ты не делал?

Я понимаю, если бы я делал что-то типа Last или RecordCount, тогда пусть скачивает наздоровье.
Зачем же скачивать все сотни записей, когда отображаются только 20?
При схеме BDE->ODBC-> MSSQL все работало нормально.

Очень удевительно.


 
DSR   (2003-04-20 10:11) [3]

а если select делать? как-нибудь можно ведь ограничиться.наверное. или я чего то не так понял?


 
Alexandr   (2003-04-20 10:24) [4]

кароче в запросе ограничивай.
И то твоя фраза

> Зачем же скачивать все сотни записей, когда отображаются
> только 20?

какая-то двусмысленная...



 
Askik   (2003-04-20 14:33) [5]

>> DSR (20.04.03 10:11)
>>Alexandr © (20.04.03 10:24)

Дело в том, что я раньше работал по схеме:
Приложение->BDE->ODBC->MSSQL-Server.
И работало все следующим образом:
Например пользователь открывает справочник клиентов и я делаю простой запрос к спраочнику: SELECT ... FROM Clients ...
Допустим в базе 2000 клиентов.
Открывается таблица с клиентами и отображаются сначало естественно первые 20 клиентов, так как в гриде сразу все не отобразить. Так вот по мере продвижения вниз по списку происходило постепенное "докачивание клиентов", как воникала необходимость отобразить его на экране. Это было видно по трафику сети (сервер находится на другом компе) да и вообще курсор передергивался на песочные часы (crSQLWait), что происходит тогда когда идет ображение к БД. И соответственно экономился трафик сети и нагрузка на сервер небольшая.
Кто этим руководит BDE или ODBC я не знаю.

После перехода на ADO я этого не замечаю, вот и возник вопрос.
Я так понимаю, что теперь этим придется заниматься мне? Т. е. мне надо следить, сколько записей на даный момент отобразится на экране и столько скачивать? Это на самом деле усложняет задачу.

Кто что знает по этому поводу просьба помочь.


 
sniknik   (2003-04-20 21:25) [6]

настрой асинхронное получение данных. первые отобразятся моментально, остальные докачаются по ходу.

кстати 2000 это несерьезно (можно не успеть заметить как все закачается) ~16-тыс качается (у меня) ~ 0.5-0,9 сек.
несерьезно для закачивания но просмотреть и обработать столько ни один оператор не сможет. лутше ограничить запрос (для справочника по группе например).


 
BlackTiger   (2003-04-22 14:56) [7]

Вот проблема... Трафик... Нагрузка.
Возьми грид от DevExpress (cxGrid/dxGrid). У него есть несколько режимов работы ("все-сразу", "с докачкой").

ЗЫ: Почитайте про ADO.NET - вот где можно посыпать голову пеплом (предварительно выдрав волосы).



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
6-34540
Fantom1
2003-03-15 10:02
2003.05.12
winexec


14-34571
default
2003-04-22 15:15
2003.05.12
Численные методы


7-34625
beginner (!)
2003-03-16 15:30
2003.05.12
PropertySheet


1-34479
Елена
2003-04-17 00:13
2003.05.12
Редактор свойств


1-34509
yaric
2003-04-30 00:59
2003.05.12
Как при выполнении проги можно прочитать данные из Version Info





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский