Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.19;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.02 c
9-60009
Sword-Fish
2003-01-10 10:47
2003.06.19
Упаковка ресурсов


3-60013
АТ
2003-05-27 04:24
2003.06.19
Вопрос по транзакции в InterBase


4-60459
DVM
2003-04-19 23:55
2003.06.19
Помогите с ListView и LVN_ENDLABELEDIT - нет моих больше сил!


14-60343
kaif
2003-05-16 00:45
2003.06.19
---|Ветка была без названия|---


3-60077
sony1
2003-05-28 13:08
2003.06.19
Как выбрать из view первые 100 записей например ?