Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Не правильное определение первойзаписи в таблице


Автор: Дерзающий 28.4.2006, 22:29
Короче так у меня есть таблица в которой 1740 записей стандартной базы данных Access. В Access'е просматриваю вижу все записи, но при помощи ADOQuery->DataSource->DBGrid просмотреть полностью не могу. Аказывается неправильно устанавливается курсор на первую запись, а именно DBGrid1->DataSource->DataSet->RecordCount равно 1740, устанавливаю на первую запись DBGrid1->DataSource->DataSet->FindFirst() оказывается равным истине, если добавить DBGrid1->DataSource->DataSet->First() то и Form1->DBGrid1->DataSource->DataSet->Bof равен истине, даже DBGrid1->DataSource->DataSet->RecNo равен 1, НО!!! DBGrid1->Columns->Items[0]->Field->AsInteger где находится поле со счётчиком и должно быть 1 оказывается равным 927!!! Однако если перемещать назад методом Prior() 927 раз результата не даёт и остаётся на тойже 927 записи но по данным свойств на 1.  А вот если переместить к последней записи то и DBGrid1->DataSource->DataSet->RecNo и DBGrid1->Columns->Items[0]->Field->AsInteger оказываются равными 1740. Что думать не знаю. Единственное приходит в голову может при добавлении записей когда использую SQL запросы с параметрами я в параметрах указываю счётчик и принудительно присваиваю номер, но номера в поле идут последовательно, короче ума не приложу!? Что делать!!!??? 

Автор: Artemon 29.4.2006, 05:42
Во-первых, с чего это ты взял что счетчик в первой записи должен быть 1????????????
Если ты удалял записи то счетчик сбился и это вполне нормально. 

Автор: _hunter 3.5.2006, 10:43
в SQL есть ORDER BY. его и испоьзуй... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)