Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Активная строка в AdoTable


Автор: Teran 23.5.2006, 18:26
как узнать что активная строка в AdoTable - есть последней или первой?
 smile  smile  smile 
 

Автор: Golden Hands 23.5.2006, 18:47
Цитата(Teran @  23.5.2006,  21:26 Найти цитируемый пост)
 есть последней

Запомнить значение ADOTable1.RecNo, выполнить ADOTable1.Last и сравнить ADOTable1.RecNo с сохраненным значением.

Цитата(Teran @  23.5.2006,  21:26 Найти цитируемый пост)
 или первой

То же с ADOTable1.First. 

Автор: Vit 23.5.2006, 21:12
Кроме как попытки перехода никак... 

Автор: Golden Hands 23.5.2006, 21:59
Еще способ:

Сравниваем номер текущей записи (ADOTable1.RecNo) с 1 (проверка на первую запись) и с общим количеством записей (ADOTable1.RecordCount) (проверка на последнюю запись). 

Автор: Vit 24.5.2006, 16:06
Цитата(Golden Hands @  23.5.2006,  12:59 Найти цитируемый пост)
Еще способ:

Сравниваем номер текущей записи (ADOTable1.RecNo) с 1 (проверка на первую запись) и с общим количеством записей (ADOTable1.RecordCount) (проверка на последнюю запись).  


Не будет работать, это ж динамика... а может как раз перед вызовами туда что-то добавила другая программа? Кроме того ADOTable1.RecordCount во многих случаях погоду показывает, точнее количество записей не в таблице а буффере передачи данных, так как вся таблица на клиента не перетягивается. 

Автор: SergeBS 24.5.2006, 16:29
Golden Hands, 
Сравнивать № записей - безнадежно. Практически: таблицы без индексов встречаются крайне редко, а порядок индексирования как правило не совпадает с порядком записей. Т.е. только попытка перехода даст что-то. Что уже через секунду на клиент-сервере может быть неверным. 

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