| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
| Попробуй переписать по-русски, может ответят, т. к. читать очень плохо... |
| Автор: 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 |
| Прошу прощения, не в тот топик смотрел. |