Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-60338
korvin
2003-06-01 07:30
2003.06.19
Поиск литературы по работе с сеткой.


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


14-60329
[NIKEL]
2003-06-01 17:43
2003.06.19
Хайку


1-60147
Shluz
2003-06-06 14:36
2003.06.19
Окна


9-60012
Карлсон
2003-01-12 00:13
2003.06.19
DXInput





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский