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

Вниз

Как узнать количество записей...   Найти похожие ветки 

 
tovSuhov   (2002-02-18 14:21) [0]

... возвращенных оператором select в ADOQuery, не пробегая их до конца?


 
Alexandr   (2002-02-18 14:26) [1]

никак.
Выполни другой запрос, который тебе вернет кол-во записей первого запроса.
этот запрос обычно получается заменой select .... from...
на select count(*) from...
но не всегда...


 
Yuri Btr   (2002-02-18 14:34) [2]

Query1.Recordset.RecordCount;


 
petr_v_a   (2002-02-18 14:43) [3]

Не выбирая до конца узнать невозможно, так устроен OCI (((:


 
Сергей Иванов   (2002-02-18 15:52) [4]

Как вариант можно попробовать следующее:
создаем MTS DataModule, на него кидаем тот же на select count(*) from..., в библиотеке типов (*.tlb) пишем метод, например GetRecsCount, который выполняет Query и возвращает клиенту кол-во записей. Регистрим *.tlb в качестве MTS-объекта.
На клиенте:
//
var Server :IMyServer;
//
function GetIt :integer;
begin
result := 0;
try
if Server=nil then Server := CreateRemote("YOU_NET_SERVER_NAME")
result := GetRecsCount;
if Server<>nil then Server := nil;
except
if Server<>nil then Server := nil;
end;
end;

И не надо ничего на клиента перекачивать.


 
McSimm   (2002-02-18 16:05) [5]

Вопрос был " не пробегая их до конца", а не "Не выбирая".
Совершенно правильный и простой ответ дал:
>Yuri Btr © (18.02.02 14:34)
>Query1.Recordset.RecordCount;


 
McSimm   (2002-02-18 16:06) [6]

Но можно и
Query1.RecordCount;


 
drpass   (2002-02-18 16:23) [7]

RecordCount только при работе с ADO и BDE возвращает количество записей в наборе.
В конце-концов, просто добавь поле count(*) к запросу - универсальный метод


 
Johnmen   (2002-02-18 16:27) [8]

>McSimm © : А ты уверен, что при выполнении Query1.RecordCount;
записи реально не перекачаются на клиента ?!


 
Johnmen   (2002-02-18 16:34) [9]

>drpass © : Ты хочешь сказать, что select f1,f2,f3,count(*) from tbltest1 пройдет ???!!!


 
McSimm   (2002-02-18 17:14) [10]

>А ты уверен, что при выполнении Query1.RecordCount;
>записи реально не перекачаются на клиента ?!
Уверен. Если они и перекачиваются, то при открытии, а не при проверке RecordCount. :)

Мне кажется автор имел в виду " не пробегая в цикле по записям для их подсчета". Возможно я ошибаюсь.
Если используется серверный курсор, то единственный способ - выполнение отдельного запроса с Count(). Если clUseClient - то записи уже здесь и RecordCount уже известен


 
Johnmen   (2002-02-18 17:27) [11]

>McSimm © : то есть если ADOQuery.Open, то записи тутже и все перекачиваютя ?
Если это так, то удручает отсутствие оптимизации :(


 
wicked   (2002-02-18 20:27) [12]

2 Johnmen © (18.02.02 17:27)
вообще-то это не отсутствие оптимизации, а особенность клиентских курсоров... так устроены ADO и с этим ничего не поделать... единственный способ хоть как-то это соптимизировать - использовать многопоточность ADO....



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

Форум: "Базы";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
4-57571
MrAngel
2002-01-21 12:11
2002.03.18
И ещё один вопрос!!! Само описание HWND и HDC. Их внутренняя структура.


1-57450
esprit
2002-03-04 03:36
2002.03.18
работа с файлами


7-57543
Cranium
2001-12-16 02:02
2002.03.18
Как данные из таблицы бызы загрузить в TreeView


3-57330
EsKor
2002-02-18 09:47
2002.03.18
Работа с таблицами находящихся в подкаталогах


3-57274
Konung
2002-02-15 11:50
2002.03.18
ftWord





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский