Текущий архив: 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.48 MB
Время: 0.048 c