![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IBQuery1.RecordCount=0 или 1??? [D5, IB6.x]
Fishka © (2002-05-27 09:52:00)Необходимо подсчитать количество записей, возвращаемых запросом.
Но если даже записей > 1 IBQuery1.RecordCount выдает 1. Как это понимать?
Леха_ (2002-05-27 13:30:00) [1]если пользователю выдается большая таблица целиком значит что то не в порядке с логикой(это не касается инструментов работы с данными напрямую)
kaif (2002-05-27 13:19:00) [2]Правильно делать FetchAll. Если же кол-во записей настолько велико, что есть даже сомнение в SELECT COUNT(*), то FetchAll тогда тем более неправильно делать. И что же тогда делать, я вообще не знаю. Универсального решения нет. Для маленьких таблиц FetchAll (или Last) идеальное решение, для больших - кроме SELECT COUNT(*) ничего не придумаешь.
Леха_ (2002-05-27 12:46:00) [3]написали же уже вверху FetchAll прочитает все данные и установит провильное значение RecordCount можно извращенно Last(при этом текущая запись сместится в конец)
Deniz (2002-05-27 12:14:00) [4]Смотри > Alexandr © (27.05.02 09:54) IBQuery.FetchAll
>WellSlava © (27.05.02 10:07)
Видится, что у вас не совсем хорошо с IBX? Хотя в реальности, IMHO, работает все правильно(у меня update IBX6.3).
Fishka (2002-05-27 11:49:00) [5]Alexandr © , WellSlava © , jonik pegas ©
Спасибо за ответы и советы.
Но если большое количество записей, то делать еще один запрос Select Count(*) From ...не очень хочется.
jonik pegas (2002-05-27 11:23:00) [6]Это не глюк Delphi, так задумано :-)
RecordCount вероятно выдает количество записей хранящихся во внутреннем буфере. Приходится Select Count(*) From... хотя количество в многопользовательской системе может и не совпасть
WellSlava (2002-05-27 10:07:00) [7]Вообще-то? мне кажется, что это глюк Delphi. Я у себя замечал, что RecordCount работает не корректно. Если этот запрос подключен к DBGrid, или к DBEdit, то считает вроде правильно, а, если нет, то может выдавать все что угодно. Я пользуюсь запросом Select Count(*) From...
Alexandr (2002-05-27 09:54:00) [8]IBQuery.FetchAll сначала сделай
или IBDataSet используй вместо IBQuery
не знаю я точно этих IBX.
FIBPlus Rulezzzz