Главная страница
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.047 c
9-1143630278
BLack Fury
2006-03-29 15:04
2007.02.11
Как растянуть картинку на нужную площадь


2-1169538907
daser
2007-01-23 10:55
2007.02.11
Как написать консольное приложение с передачей ему параметров?


15-1169407250
Chuk & Gek
2007-01-21 22:20
2007.02.11
Вопрос к тем, кто разбирается


2-1169615914
ashnurov
2007-01-24 08:18
2007.02.11
Как сделать случайный вывод текста


15-1169484302
nomen
2007-01-22 19:45
2007.02.11
Приключение от Avast