Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

Как узнать кол-во записей в результате SQL-запроса?   Найти похожие ветки 

 
cvg   (2007-01-26 11:57) [0]

Запрос типа TSQLQuery должен вернуть либо одну запись, либо вообще ни одной. Какой функцией можно узнать количество записей в результате?


 
Sergey13 ©   (2007-01-26 12:01) [1]

1. IsEmpty
2. Last+RecordCount (не всегда и не везде работает)
3. Цикл


 
Плохиш ©   (2007-01-26 12:02) [2]


> Запрос типа TSQLQuery должен вернуть либо одну запись, либо
> вообще ни одной

после открытия
Eof = true - ни одной записи.
Eof = false - хотя бы одна запись есть.


 
alex_*** ©   (2007-01-26 12:05) [3]

да просто на RecordCount>0 проверить


 
Плохиш ©   (2007-01-26 12:10) [4]


> alex_*** ©   (26.01.07 12:05) [3]

А "RecordCount = -1" как интерпретировать?


 
alex_*** ©   (2007-01-26 13:06) [5]


>
> А "RecordCount = -1" как интерпретировать?
>

Это где такое есть? Видел RecNo = -1. Как-то работал с dbf через odbc, когда запсией было около 1М, то RecordCount задумывался на полминуты. Так что

> Eof = true - ни одной записи.
> Eof = false - хотя бы одна запись есть.

Было бы практичнее, я думаю


 
zdm ©   (2007-01-26 13:19) [6]

if field[0].asstring="" then ни чего не вернулось :))


 
Desdechado ©   (2007-01-26 13:28) [7]

> if field[0].asstring="" then ни чего не вернулось :))
чудак-человек

[1].1 - самое правильное


 
Плохиш ©   (2007-01-26 13:31) [8]


> alex_*** ©   (26.01.07 13:06) [5]

У автора ещё хуже, у него обращение к RecordCount вообще исключение может вызвать ;-) а ж в трёх, документированных, случаях.


 
zdm ©   (2007-01-26 13:31) [9]


> Desdechado ©   (26.01.07 13:28) [7]


-Армяне лучше чем грузины!
-Чем?
-Чем грузины.


 
Sergey13 ©   (2007-01-26 14:13) [10]

> [0] cvg   (26.01.07 11:57)

Можно еще попробовать переделать запрос так, что бы он гарантировано выдавал 1 строку. Например используя count в запросе.


 
zdm ©   (2007-01-26 14:24) [11]


> Sergey13 ©   (26.01.07 14:13) [10]

Интересно, как можно гарантировать возвращение "хоть одной записи"? И если использовать count , то тут же SQL потребует группировки, а её понятное дело быть не может.
Если совсем до извращения дойти, можно создать Вьюху на основе запроса, а потом уже count к Вьюхе, а после операций смерть ей. Да уж, мазахизм полнейший :)


 
cvg   (2007-01-26 14:30) [12]

Можно и переделать, но я уже убедился, что Eof у меня вполне работает. Кстати, с count"ом не очень интересно, потому что если есть одна строка, мне интересно выводить значение одного из полей (которое может быть и нулевым); если же не выдано ни одной строки, то функция вернет -1.


 
zdm ©   (2007-01-26 14:35) [13]


> cvg   (26.01.07 14:30) [12]

Значение поля =0 и неудовлетворяющее запросу(Null) --это разные вещи.


 
alex_*** ©   (2007-01-26 14:42) [14]


> И если использовать count , то тут же SQL потребует группировки

кто это потребует группировки?
select count(*) from q_opportunities - какая тут группировка?


 
Sergey13 ©   (2007-01-26 14:43) [15]

> [12] cvg   (26.01.07 14:30)

Если у тебя запрос без использования агрегатов, то зря ты утверждаешь, что


 
Sergey13 ©   (2007-01-26 14:45) [16]

Блин, не на то нажал. сори
> [12] cvg   (26.01.07 14:30)

Если у тебя запрос без использования агрегатов (что я предполагал), то зря ты сильно надеешься, что

> Запрос типа TSQLQuery должен вернуть либо одну запись, либо вообще ни одной

Он с успехом может вернуть и 10000 - это как карты лягут.


 
zdm ©   (2007-01-26 14:48) [17]


> alex_*** ©   (26.01.07 14:42) [14]

А count чего? Ему же сначало надо что -то вернуть и уже к этому делать count


 
Sergey13 ©   (2007-01-26 14:54) [18]

> [17] zdm ©   (26.01.07 14:48)

Ты уверен? Запрос видел? Я вот думал, что у него select sum() from table.


 
zdm ©   (2007-01-26 14:58) [19]


> Sergey13 ©   (26.01.07 14:54) [18]

В этой жизни ни в чем нельзя быть уверенным :) Тогда автору было бы логично привести запрос.



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

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

Наверх




Память: 0.51 MB
Время: 0.066 c
1-1166606694
fishka
2006-12-20 12:24
2007.02.11
IdTelnet и Read


2-1169404773
Гость_
2007-01-21 21:39
2007.02.11
property & var


3-1164007936
SLP
2006-11-20 10:32
2007.02.11
Сводная таблица в Excel


4-1159370729
vidiv
2006-09-27 19:25
2007.02.11
Нужно ли освобождать память (GlobalFree) при копировании в Б/О


2-1169042598
Agent[007]
2007-01-17 17:03
2007.02.11
То ли классы не работают, то ли я...