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

Вниз

Как узнать кол-во записей в результате 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.037 c
15-1169373734
Expell
2007-01-21 13:02
2007.02.11
В чем причина?


2-1169473697
agfhg
2007-01-22 16:48
2007.02.11
БД


15-1168927372
Ega23
2007-01-16 09:02
2007.02.11
ММП? В пятницу?


6-1157461535
Tanya
2006-09-05 17:05
2007.02.11
свой IP


15-1169035618
Dmitriy_info
2007-01-17 15:06
2007.02.11
Как выводить французские символы





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