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

Вниз

IBQuery1.RecordCount=0 или 1???   Найти похожие ветки 

 
Fishka   (2002-05-27 09:52) [0]

Необходимо подсчитать количество записей, возвращаемых запросом.
Но если даже записей > 1 IBQuery1.RecordCount выдает 1. Как это понимать?


 
Alexandr   (2002-05-27 09:54) [1]

IBQuery.FetchAll сначала сделай
или IBDataSet используй вместо IBQuery

не знаю я точно этих IBX.

FIBPlus Rulezzzz


 
WellSlava   (2002-05-27 10:07) [2]

Вообще-то? мне кажется, что это глюк Delphi. Я у себя замечал, что RecordCount работает не корректно. Если этот запрос подключен к DBGrid, или к DBEdit, то считает вроде правильно, а, если нет, то может выдавать все что угодно. Я пользуюсь запросом Select Count(*) From...


 
jonik pegas   (2002-05-27 11:23) [3]

Это не глюк Delphi, так задумано :-)
RecordCount вероятно выдает количество записей хранящихся во внутреннем буфере. Приходится Select Count(*) From... хотя количество в многопользовательской системе может и не совпасть


 
Fishka   (2002-05-27 11:49) [4]

Alexandr © , WellSlava © , jonik pegas ©
Спасибо за ответы и советы.
Но если большое количество записей, то делать еще один запрос Select Count(*) From ... не очень хочется.


 
Deniz   (2002-05-27 12:14) [5]

Смотри > Alexandr © (27.05.02 09:54) IBQuery.FetchAll

>WellSlava © (27.05.02 10:07)
Видится, что у вас не совсем хорошо с IBX? Хотя в реальности, IMHO, работает все правильно(у меня update IBX6.3).


 
Леха_   (2002-05-27 12:46) [6]

написали же уже вверху FetchAll прочитает все данные и установит провильное значение RecordCount можно извращенно Last(при этом текущая запись сместится в конец)


 
kaif   (2002-05-27 13:19) [7]

Правильно делать FetchAll. Если же кол-во записей настолько велико, что есть даже сомнение в SELECT COUNT(*), то FetchAll тогда тем более неправильно делать. И что же тогда делать, я вообще не знаю. Универсального решения нет. Для маленьких таблиц FetchAll (или Last) идеальное решение, для больших - кроме SELECT COUNT(*) ничего не придумаешь.


 
Леха_   (2002-05-27 13:30) [8]

если пользователю выдается большая таблица целиком значит что то не в порядке с логикой(это не касается инструментов работы с данными напрямую)



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

Форум: "Базы";
Текущий архив: 2002.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
14-65229
first_aid
2002-05-18 07:03
2002.06.20
Имена использовавшихся юнитов в откомпиленом exe.


3-64895
AFROLOV
2002-05-29 11:51
2002.06.20
Каким образом можно работать с БД из DLL?


3-64945
Бродяга
2002-05-22 20:09
2002.06.20
пароли в BDE


3-64959
Ferrarium
2002-05-27 19:26
2002.06.20
Помучаем DBGRID?


14-65223
Miwa
2002-05-16 01:30
2002.06.20
Распознавание голоса в компютере.





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