Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

RecordCount в Interbase

5.8K
08 июля 2005 года
Pirks
10 / / 19.04.2004
Пишу в C++ Builder 5, Firebird 1.5.
Запросы соответственно через IBQuery.
Свойство Query->RecordCount всегда равно либо 0 (если записей нет вообще), либо 1 (если есть хотя бы одна запись), хотя по идее должно выдавать общее число записей.
Вопрос: 1) почему это так происходит?
2) как узнать число записей, возвращаемых запросом (желательно без доп.запроса в виде count(*) )
362
08 июля 2005 года
_kolyan
339 / / 03.12.2002
Странная фигня. У меня выдает все правильно - число записей, которые вернул select. Если надо число записей, которые подверглись изменению, то есть еще RowsAffected.
2.2K
08 июля 2005 года
Dani
51 / / 22.09.2004
Цитата:
Originally posted by Pirks
Пишу в C++ Builder 5, Firebird 1.5.
Запросы соответственно через IBQuery.
Свойство Query->RecordCount всегда равно либо 0 (если записей нет вообще), либо 1 (если есть хотя бы одна запись), хотя по идее должно выдавать общее число записей.
Вопрос: 1) почему это так происходит?
2) как узнать число записей, возвращаемых запросом (желательно без доп.запроса в виде count(*) )



Где-то я уже такое слышал. Только у человека у таблицы РекордКаунт не возвращался. Он заметил зависимость, как ни странно, от ДБгрида - сколько записей в гриде отражено, столько и РК дает. Заметил также, что если грид на последнюю запись прокрутить, то РК возвращает правильное значение. Но как он в конце концов обошел этот глюк, я, к сожалению, не помню..

10
08 июля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Dani
Но как он в конце концов обошел этот глюк, я, к сожалению, не помню..


Чудики, блин. Доку курить надо! Для этого есть FetchAll();

Только в данном случае пользоваться IBTable - моветон. Пересмотрите решение задачи.

2.1K
08 июля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by Freeman
Чудики, блин. Доку курить надо! Для этого есть FetchAll();

Только в данном случае пользоваться IBTable - моветон. Пересмотрите решение задачи. [/B



конечно глупо задавать этот вопрос здесь, но учится никогда не поздно :))

что такое моветон?

4.2K
11 июля 2005 года
Крыс
98 / / 06.05.2005
Цитата:
Originally posted by Freeman
Чудики, блин. Доку курить надо! Для этого есть FetchAll();

Только в данном случае пользоваться IBTable - моветон. Пересмотрите решение задачи.


Freeman
а в каких случаях пользуются IBTable...
заметила что я им вообще не плозуюсь...P(

10
11 июля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Крыс
а в каких случаях пользуются IBTable...
заметила что я им вообще не плозуюсь...P(


Значит, пишешь правильно. Сильную необходимость использования таблиц обычно испытывают программисты, перешедшие в SQL из настольных баз данных и еще не забывшие плохие привычки.

Цитата:
Originally posted by greyich
что такое моветон?


Что-то идущее вразрез с неписанными правилами культурного поведения. Например, плевки на пол или скабрезные анекдоты в приличном обеществе не приветствуются.

5.8K
11 июля 2005 года
Pirks
10 / / 19.04.2004
собственно, я уже упоминал, что использую TIBQuery, а не TTable, а внятного ответа на вопрос так и не увидел...
Значит нужно поместить в AfterOpen вызов метода FetchAll? если я правильно понял? Если да - каковы накладные расходы, если у меня запрос выдает миллионы строк?
10
11 июля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Pirks
Если да - каковы накладные расходы, если у меня запрос выдает миллионы строк?


Накладные расходы, разумеется, высоки. Поэтому, более цивилизованным способом является получение count(*) в том или ином виде.

Вообще, в серверах выборка count(*) для большого запроса не является чем-то из ряда вон выходящим. Например, в компонентах на DAC-движке это реализовано самими компонентами, достаточно установить соответствующий флаг.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог