Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TDataSet [D6]


Страницы:   1 2

Taiga ©   (2003-01-09 13:04:00) 

Ув. Господа! Столкнулся с проблемой: Мне нужно выяснить кол-во записей в таблице (таблица содержит ~20000 записей)
Я использовал код:
bookmark := DBGrid1.DataSource.Dataset.GetBookmark;
DBGrid1.DataSource.Dataset.DisableControls;
DBGrid1.DataSource.Dataset.First;

RowCount:= 0;

RowCount:= DBGrid1.DataSource.Dataset.MoveBy(MAXROWS));

DBGrid1.DataSource.Dataset.EnableControls;
DBGrid1.DataSource.Dataset.GotoBookmark( bookmark );
DBGrid1.DataSource.Dataset.FreeBookmark( bookmark );

В результате RowCount содержит значение гораздо меньше чем отображается в гриде.
Еще пробовал
DBGrid1.DataSource.Dataset.Fisrt;
DBGrid1.DataSource.Dataset.Last;
RowCount:= DBGrid1.DataSource.Dataset.RecordCount;
Тот же результат.
На маленькой таблице все работает отлично.
Вопрос: Кто-нибудь сталкивался с такой проблемой, и как еее решать?


Verg   (2003-01-09 13:23:00) [21]

DataSet не Filtered случайно?


Taiga   (2003-01-09 13:20:00) [22]

Содрал с семпла на форуме.
Вообще делфи и базы - не моя специализация.
Заранее предупреждаю: вы имеете дело с чайником в БД и Делфе :)


FROM_X   (2003-01-09 13:17:00) [23]

Кстати, а зачем ты делаешь
DBGrid1.DataSource.Dataset.Fisrt;
DBGrid1.DataSource.Dataset.Last;
?


Taiga   (2003-01-09 13:16:00) [24]

Пробовал также обойти в цикле используя DataSet.Next,
пока не наступит Eof. Same result :(


Taiga   (2003-01-09 13:15:00) [25]

Пробовал:
DBGrid1.DataSource.Dataset.Fisrt;
DBGrid1.DataSource.Dataset.Last;
RowCount:= DBGrid1.DataSource.Dataset.RecordCount;

Возвращаемое значение гораздо меньше чем отображается в гриде.
Тут видимо некий баг борланда при работе с большими таблицами


FROM_X   (2003-01-09 13:12:00) [26]

RecordCount


Taiga   (2003-01-09 13:11:00) [27]

Проверил. Нету :(


FROM_X   (2003-01-09 13:11:00) [28]

RecordCount


FROM_X   (2003-01-09 13:10:00) [29]

Ага, проверь


Taiga   (2003-01-09 13:10:00) [30]

А у TDataSet разве есть RowCount?


FROM_X   (2003-01-09 13:07:00) [31]

Dataset.RowCount пробовал?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо