Вниз
Скачать: CL | DM;

Как подсчитать число записей для ЛЮБОГО запроса ?   Найти похожие ветки 

 
Vorobyev Sergey   (2003-05-27 11:13) [0]

Привет всем!
Есть какой нибудь запрос (select * from ... where .. join и т.п.)
с любыми комбинациями выражений..
Так вот есть ли способ подсчитать число записей выдаваемых запросом ?
---
Пояснение:
в программе результат запроса отображается в гриде.
Необходимо в строке статуса отобразить полное количество записей, которые выдал запрос,
причем заранее неизвестно какие будут запросы..


 
Zacho ©   (2003-05-27 11:18) [1]

Для "любого" запроса - никак.
Только FetchAll + RecordCount.


 
Соловьев ©   (2003-05-27 11:18) [2]

Open;
FetchAll;
Edit1.Text := Format("Кол-во записей %d",[RecordCount]);


 
Danilka ©   (2003-05-27 11:35) [3]

а select count(*) from (select ...)
в IB не пройдет?


 
Zacho ©   (2003-05-27 11:39) [4]


> Danilka © (27.05.03 11:35)

Нет в IB SELECT ... FROM (SELECT ...


 
Sergey13 ©   (2003-05-27 11:51) [5]

В DbGridEh можно приделать футер с таким прибамбасом, но делать он будет (подозреваю 8-) как написал Zacho © (27.05.03 11:18)


 
Danilka ©   (2003-05-27 11:51) [6]

Zacho © (27.05.03 11:39)
жаль.

тогда можно еще вот-так:
create view xxx
...
select count(*) from xxx
drop view xxx

на некоторых таблицах это будет быстрее чем все фэтчить на клиента. :))


 
Danilka ©   (2003-05-27 11:56) [7]

А вообще, правильней парсить запрос на клиенте, и создавать на его основе запрос на получение кол-ва записей. Типа такого:
запрос select field1, field2 ...
делать: select count(*) ...

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


 
Sergey13 ©   (2003-05-27 11:59) [8]

2Danilka © (27.05.03 11:51)
>тогда можно еще вот-так:
Это ты чего такое забористое куришь? Поделись. 8-)


 
Danilka ©   (2003-05-27 12:02) [9]

Sergey13 © (27.05.03 11:59)
:))
просто настроение сегодня что-то хорошее


 
Vorobyev Sergey   (2003-05-27 12:14) [10]


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


Исключено..
Хотя выход я уже нашел..


 
DarkGreen ©   (2003-05-27 13:54) [11]

А что мешает сделать:

select count(*), Ваши_поля_для_отображения, from Ваши_таблицы ....

А в гриде первое поле не светить, хотя select count(*) - это мраки.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.048 c
14-60315
DMN
2003-05-30 08:26
2003.06.19
Работа с файлами


11-60098
Alexander
2002-09-22 12:30
2003.06.19
Странное поведение свойства Align:


8-60273
Kair
2003-03-02 21:24
2003.06.19
Проигрывание видео-фильмов.


14-60333
Начинающий_
2003-06-02 05:21
2003.06.19
Срочно алгоритм сортировки списка


1-60211
qwerty2
2003-06-05 13:41
2003.06.19
для чего и когда использовать ShareMem?




   Наверх