Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > DELPHI+ACCESS+ADO


Автор: soul 29.2.2004, 17:50
koroche est v BD ACCESS tablitsa s 600,000 zapisey poradka 15 poley v zapisi
v accesse pri otkritiyi etoy tablitsi vse OK
kogda skrollish dalshe vse idet gladko nicho ne tormozit da i tablitsa sama okrivayetsa bistro
to li access kak to delayet fetch kakoye to kolichestvo zapisey po nadobnosti
kogda podkluchayus cherez adotable v delphi to vse snachala
veshayetsa delphi na minut 5 potom vrode vse prochitivayet v RAM no
esli skrolish DBGRID dalshe vniz to nachinayet podvisat toje na kakoye to vrema
tak vot kak sdelat cho bi kak v accessse vibborka toko po neobhodimosti tam po vidimim zapisam
PAMAJITE!!!!!
PS.
mne posovetovali pomenat dostup k baze na asinhronniy
no chot ne poluchayetsa mojet nepravilno delayu cho to

Автор: Pakshin A. S. 2.3.2004, 22:16
Попробуй переписать по-русски, может ответят, т. к. читать очень плохо... biggrin.gif

Автор: x77 2.3.2004, 22:23
что не получается? выставить ExecuteOptions? через что, конкретно, открывается таблица, через AdoTable или AdoQuery?

Автор: soul 3.3.2004, 15:12
короче ест в БД АКСЕСС таблитса с 600,000 записи порадка 15 полей в записи
в аццессе при открытии етой таблитси все ОК
когда скроллиш далше все идет гладко ничо не тормозит да и таблитса сама окриваыетса бистро
то ли аццесс как то делаыет фетч какоые то количество записеы по надобности
когда подклучаыус через адотабле в делпхи то все сначала
вешаыетса делфи на минут 5 потом вроде все прочитиваыет в РАМ но
если скролиш ДБГРИД далше вниз то начинаыет подвисат тоэ на какоые то врема
так вот как сделат чо би как в аццесссе вибборка токо по необходимости там по видимим записам
ПАМАЖИТЕ!!!!!
ПС.
мне посоветовали поменат доступ к базе на асинхронниы
но чот не получаыетса моэт неправилно делаыу чо то

подключаюсь через АДОTABLE

Автор: x77 3.3.2004, 16:31
Поставь CasheSize := 20, к примеру, и выставь ExecuteOptions := [eoAsyncExecute, eoAsyncFetch, eoAsyncFetchNoBlocking]. Записи будут дёргать по 20 штук, при этом оставшиеся записи будут продолжать подсасываться в фоновом режиме и поток, отвечающий за всё это дело не будет подвешивать систему.

Автор: soul 3.3.2004, 16:41
Большой сенкс
ща попробую

Автор: x77 3.3.2004, 16:54
soul, для такого кол-ва записей уже есть смысл подумать о доступе через TAdoQuery, imho.

Автор: Medved 3.3.2004, 17:50
Да при любом количестве записей лучше всего использовать ADO для доступа к Access - это для него родной драйвер.

Автор: x77 3.3.2004, 18:35
Pegas, так адо и используется. только AdoTable (см. сабж). а речь идёт о том, что для полумиллиона записей есть смысл перелезть на квери. всё с тем же асинхронным доступом.

Автор: Medved 3.3.2004, 19:33
Прошу прощения, не в тот топик смотрел.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)