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

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

TpFIBDataSet: RecordCount, глюк? [Firebird 2.0]


Страницы:   1 2

Megabyte ©   (2006-12-20 13:20:00) 

Мне надо узнать кол-во возвращаемых строк, чтобы задать длину дин. массива.
У Датасета есть 2 свойства:
RecordCount - заметил глюк, что всегда почему-то возвращает 1!
RecordCountFromSrv - не совсем понимаю, чем отличается от пред. свойства и что обозначает(м.б. кто подскажет). В другом проекте оно показывало мне нужное число.
В новом проекте: делаю запрос через ИБЭксперт - показывает 2097
Делаю тот же запрос на клиенте - TpFIBDataSet.RecordCountFromSrv выдает 11811
Как так?

з.ы. Короче, мне надо получить число строк! Остальное, если можете, подскажите...


Ega23   (2006-12-20 13:44:00) [21]

Indicates the total number of records associated with the dataset.

property RecordCount: Integer;

Description

As implemented in TDataSet, RecordCount is always -1. Ordinarily an application does not access RecordCount at the TDataSet level. Instead a redeclared and implemented RecordCount property in a descendant class such as TTable is accessed. RecordCount provides a fallback property for derived dataset classes that do not reimplement the property access method.


sniknik   (2006-12-20 13:44:00) [22]

> RecordCount - заметил глюк, что всегда почему-то возвращает 1!
действительно глюк... должно быть -1 если рекордсет по какойто причине не поддерживает это свойство. срочно свяжись с разработчиками FIB-ов.

но вообще, во многих случаях он будет неопределен, например при асинхронной докачке данных, однопроходном/серверном рекордсете.
если это изза того, что получение данных в процессе, то надо просто сделать fetchall перед чтением свойства, если же изза невозможности получить значение то оно должно быть -1. (в хелпе это оговорено)
тебе нужно поподробнее узнать в каком режиме работает используемый тобой компонент... (документации нет?)

> Мне надо узнать кол-во возвращаемых строк, чтобы задать длину дин. массива.
перегружаеш данные из рекортсета в динамический массив? а зачем собственно? может не надо?


Desdechado   (2006-12-20 13:41:00) [23]

Ты хоть отличаешь число записей, которое сервер может отдать в результате запроса, от числа записей, реально полученных клиентом?


Страницы:   1 2

Наверх

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