![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDataSet [D6]
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 пробовал?