Узнать количество записей

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Узнать количество записей

Сообщение galover »

Всем привет, как узнать количество записей, удовлетворяющих ограничению.

скажем есть вьюха

select * from x$ActiveUsers users ((_someNRec == users.UserCode));

пишу
if (getFirst users = tsOk)
{
//Здесь нужно узнать кол-во записей,попавших в выборку
}

Можно ли узнать количество записей в users, не прибегая к _loop, есть ли такие функции?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

При обычный VIP-функциональности нельзя. Видимо только в прямом sql можно (смотрите доку по нему...).

Но я так понимаю, что все равно, в приниципе, происходит выборка из БД и оценка кол-во потенциально возвращенного резалт-сета.
Просто на обычном языке вип приходится еще узнавать это только с помощью _loop. При больших объемах данных, в потенциально большом объектие LOT выигрышь по скорости при использовании прямого скуль должен быть значителен
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

поищите rowcount и visualcount в vipprogr.chm - иногда можно имм воспользоваться. Да агрегатные какие никакие добавили.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

лучший вариант (если у Вас скуль-палтформы) это :

....
COUNT([ALL | DISTINCT] expression) | *) - определяет количество строк или значений поля, выбранных посредством запроса и не являющихся NULL-значениями.

....
Ответить