Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

RecordCount [D6, MySQL, Sybase]


Yakudza ©   (2002-04-10 15:31:00) 

Делаю:
Query.Close;
Query.SQL.Text := "SELECT * FROM general";
Query.Open;

Query.RecordCount показывает -1;
При каких обстоятельствах RecordCount показывает -1 ?


Lusha   (2002-04-10 16:51:00) [1]

>Yakudza
Внимательно читайте ответ Suntechnic. Там есть ответ и на Ваш второй вопрос.


Леха   (2002-04-10 16:50:00) [2]

А FetchAll использовать не пробовали но на больших запросах он может выполняться очень долго

Леха
Тезка давай к никам добавим чегонибудь еще чтобы нас не только по мылу можно было различать


Yakudza   (2002-04-10 16:41:00) [3]

А вот такой прикол что значит:

SELECT * FROM general WHERE cn LIKE "A%"- здесь записей 35 и RecordCount -1

SELECT * FROM general WHERE cn LIKE "Z%"- здесь записей 3 и RecordCount показывает 3


Леха   (2002-04-10 16:21:00) [4]

Необходимо использовать функции группировки или COUNT, можно сделать цикл
while(not eof)
begin

next;
end;


Suntechnic   (2002-04-10 16:02:00) [5]

Пока Last или FetchAll не сделаешь будет -1. Грубо говоря клиент ничего не знает о количестве записей пока все они не будут у него на машине. ИХМО в случае SQL предпочтительней использовать этот самый SQL для получения количества записей:
"SELECT COUNT(*) FROM general"


Наверх

Титульная страница Поиск, карта сайта Написать письмо