Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Как правильно сделать "скользящий курсор" по выборке   Найти похожие ветки 

 
Layner ©   (2006-04-06 16:17) [0]

Здравствуйте! Есть проблемка, не могу сделать скачку выборки с сервера "порциями", т.е. не все сразу данные закачивать, а только по нескольку сот строк например. Сейчас у меня происходит что, есть таблица на 70тыс строк, пока все данные видимо с сервера не скачаются, программа "висит". А еще если сервер грузится другими пользователями ждать приходится не мало. Я использую MSSQL2000+ADOQuery(D7).
Перебирал все возможные варианты с
CursorLocation
-clUseClient
-clUseServer

CursorType
-ctUnspecified
-ctOpenForwardOnly
-ctKeyset
-ctDynamic
-ctStatic

Все равно запрос длится ровно 10 сек (по таймеру замечал), или чуть больше, но никак не сразу выдает результат... Подскажите, может что ещё надо на ADOQuery предустанавливать? Или Type & Location достаточно правильно установить? Я вроде все перепробовал, никак не получается :( Заранее благодарю.


 
Sergey13 ©   (2006-04-06 16:21) [1]

2Layner ©   (06.04.06 16:17)
>есть таблица на 70тыс строк,
А прикинь, если будет 70 миллионов!
В названии сервера MSSQL2000 буквы SQL означают, что сервер поддерживает этот одноименный язык. А язык достаточно богатый, что бы выкачивать не все что есть, а только то что надо. Он для этого и придуман был.


 
Nikolay M. ©   (2006-04-06 16:29) [2]

В ФАК, все в ФАК...

http://www.sql.ru/faq/faq_topic.aspx?fid=105


 
Layner ©   (2006-04-06 16:46) [3]

Я думал можно одним ADOQuery сказать, как мне данные брать, все целиком или порционно.. Почитал фак, что то не приходит в голову, как мне обрабатывать дозапросы, если пользователь бежит по гриду вниз, отлавливать RecNo? А дальше... бр.. ничего не понятно :(


 
Desdechado ©   (2006-04-06 16:50) [4]

> если пользователь бежит по гриду вниз
а как в яндексе - 10 строк, потом жмешь кнопку "2" - еще 10 строк и так далее


 
Курдль ©   (2006-04-06 16:50) [5]


> не приходит в голову, как мне обрабатывать дозапросы, если
> пользователь бежит по гриду вниз, отлавливать RecNo?

Пользователь настучать по рукам и выдать сообщение "По Вашему запросу получено более 1000 записей. Пожалуйста, уточните условия выборки!"


 
Sergey13 ©   (2006-04-06 16:51) [6]

2 [3] Layner ©   (06.04.06 16:46)
> то не приходит в голову, как мне обрабатывать дозапросы, если пользователь бежит по гриду вниз
Может все таки съузить ему поиск начальными условиями? 70000 пробежать палец устанет. 8-)
Например, что бы найти Ходорковского в списке олигархов, вовсе не обязательно начинать этот список с Абрамовича.


 
Layner ©   (2006-04-06 16:58) [7]

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

Выборку сделать ЛЕГКО, но им надо все казать, я бы сделал..


 
Sergey13 ©   (2006-04-07 08:58) [8]

2[7] Layner ©   (06.04.06 16:58)
Не надо всегда слепо идти на поводу у юзеров. Это как раз тот случай. Скажи им, что такой метод работы не выдержит ни один сервер и ни одна сеть. Это кстати недалеко от истины.



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

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
3-1141232888
-Саша-
2006-03-01 20:08
2006.04.23
Создание БД в FireBird


11-1124694432
Fanny
2005-08-22 11:07
2006.04.23
Работаю с PIniFile


2-1144526652
Volf_555
2006-04-09 00:04
2006.04.23
Как из DLL выгрузить самого себя?


2-1144663168
Alex_C
2006-04-10 13:59
2006.04.23
Каким сообщением восстановить размер окна после минимизации?


1-1142514641
nastya
2006-03-16 16:10
2006.04.23
AciveX-разрушительный сбой