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

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

RecordCount не работает... [D7]


StarCon ©   (2004-12-10 09:02:00) 

используется ADO и RXDBGrid. При вызове DataSet.RecordCount - значение получаем, но если применить фильтр - значение остается таким же, не меняется. Как быть? Можно выделить все записи в гриде и посчитать выделенные, но есть ли более хороший способ? может быть с помощью winAPI?


sniknik   (2004-12-11 17:05:00) [1]

RecordCount показывает количество записей в рекордсете, в текущий момент (есть случаи когда он может быть -1, или при неполностью докачаном рекордсете показывать меньшее значение, вот тут FetchAll может помочь)
а фильтр он же не меняет количество записей он только часть из них тебе не показывает, поэтому все правильно.


Cobalt   (2004-12-11 11:40:00) [2]

Помнится, я видел совет такой:
FetchAll


ЮЮ   (2004-12-10 10:25:00) [3]

Применяй не фильтр, а модифицируй WHERE в запросе.

Если же используется ADOTable, то выденное жирным шрифтом утверждение - ложное :)


stone   (2004-12-10 09:46:00) [4]


> но если применить фильтр - значение остается таким же

Конечно, количество же не меняется.

> Как быть?

Можно перебрать типа while not DataSet.Eof do Inc(Counter)
Но если записей много, это будет долго.


Александр Иванов   (2004-12-10 09:39:00) [5]

ADOQuery


asp   (2004-12-10 09:33:00) [6]

Не WinAPI точно.


Наверх

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