Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюки с RecordCount [MSAccess]


Jdrm ©   (2002-12-11 11:18:00) 

Как заставить RecordCount возвращать число записей датасета? Если у меня таблица активная, но данные не отображаются то RecordCountвозвращает всего лишь 1! неужели нужно всегда ложить на форму какой нибудь DBGrid чтоб RecordCount хоть что нибудь возваращал, да и то не совсем коректно - положил я на форму DBGridсвязаный с нужным датасетом после чего RecordCount решил что записей в датасете 501 хотя их на самом деле 1048 и только переход на последнюю запись заставил RecordCount все таки вернуть нужный результат.


sniknik   (2002-12-11 12:09:00) [1]

LordOfSilence © (11.12.02 11:44)
замечательно получается, только вместо общего там тоже самое значение т.е. Progress = MaxProgress. Может это только для Access базы конечно.

Но на самом деле не для этого надо использовать, просто количество проще селектом, а через ExecuteOptions я сделал то о чем давно думал моментальную загрузку в грид и докачку в фоне, (вернее это так смотрится) как в Фоксе делается, команда Browse - не замечали? при любом размере таблици отображение моментальное.


LordOfSilence   (2002-12-11 11:44:00) [2]

Честно скажу, сам так никогда не пробовал, но...

Что если ExecuteOptions установить в eoAsyncFetch
и в дальнейшем использовать событие OnFetchProgress?
В обработчик этого события передаются как количество
уже переданных записей, так и общее их количество.

Кстати, вроде при таком подходе можно прикрутить
что-то вроде ProgressBar"a для индикации хода
длительного запроса.


Карелин Артем   (2002-12-11 11:38:00) [3]

>>Это нормальное поведение, делай .Last, но потери времени могут быть огромными
А вот если записей порядка миллиона, то это мазохизм над собой и компом :))


Anatoly Podgoretsky   (2002-12-11 11:32:00) [4]

Это нормальное поведение, делай .Last, но потери времени могут быть огромными
Другое решение запрос теми же критериями


sniknik   (2002-12-11 11:30:00) [5]

гораздо быстрее работает SELECT Count(*) AS nCol FROM .... если нужно только количество пользуйся им.


Карелин Артем   (2002-12-11 11:22:00) [6]

Это опасно когда много записей. Делай FetchAll - поможет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо