Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

Вопрос по RecordCount   Найти похожие ветки 

 
AlexeyMir   (2008-03-06 10:13) [0]

Подскажите пожалуйста, я использую IBQuery. Почему чтобы узнать правильное количество записей мне нужно перейти на последнюю запись выборки IBQuery1.Last, а потом уже выполнять IBQuery1.RecordCount?


 
Johnmen ©   (2008-03-06 10:15) [1]

Потому, что при выполнении запроса на клиента считывается только потребное ему количество записей. По мере потребности они докачиваются.
Об этом можно почитать в хелпах и доках.

ЗЫ
Кто использует RecordCount, тот ССЗБ.


 
DrPass ©   (2008-03-06 10:19) [2]


> Почему чтобы узнать правильное количество записей мне нужно
> перейти на последнюю запись выборки IBQuery1.Last, а потом
> уже выполнять IBQuery1.RecordCount?

Чтобы узнать правильное количество записей, нужно выполнить запрос select count(*) from..., а не использовать RecordCount


 
Sergey13 ©   (2008-03-06 10:30) [3]

> [0] AlexeyMir   (06.03.08 10:13)
> я использую IBQuery.

IBDataSet лучше.

> [2] DrPass ©   (06.03.08 10:19)
Это количество записей в БД, а не в датасете.

ИМХО можно юзать и то и это, но четко представляя как это работает и не основывая только на этом логику работы с данными.


 
DrPass ©   (2008-03-06 11:24) [4]


> Sergey13 ©   (06.03.08 10:30) [3]


> > [2] DrPass ©   (06.03.08 10:19)
> Это количество записей в БД, а не в датасете.

Естественно. Количество выфетченных записей в датасете может интересовать грид для корректного отображения скроллбара, но уж никак не прикладного программиста.


 
Sergey13 ©   (2008-03-06 11:32) [5]

> [4] DrPass ©   (06.03.08 11:24)

Я немного не к тому вел. Количество записей в датасете может не совпадать с количеством данных в БД (по тому же условию) в разные моменты времени. Особенно при многопользовательской работе.


 
DrPass ©   (2008-03-06 11:37) [6]


> Количество записей в датасете может не совпадать с количеством
> данных в БД (по тому же условию) в разные моменты времени

Нет, понятное дело, что к этому надо тоже с умом подходить - если такая проблема существует, разруливать транзакциями, чтобы select count(*) from видел только те же записи, что и соответствующий select fields from

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



Страницы: 1 вся ветка

Текущий архив: 2008.03.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.04 c
2-1204113712
ryden
2008-02-27 15:01
2008.03.30
Проблема с dll


15-1202996674
Ломброзо
2008-02-14 16:44
2008.03.30
Пошла волна :)


15-1202959283
Slider007
2008-02-14 06:21
2008.03.30
С днем рождения ! 14 февраля 2008 четверг


2-1204209798
Maks_
2008-02-28 17:43
2008.03.30
Запуск из своей программы команды DRWEB32W.EXE с ключами


15-1203191240
LeshaM
2008-02-16 22:47
2008.03.30
Цифровая подпись в PDF