Да, еще:
вот так Вашу задачу можно было бы выполнить в T-SQL:
select
(select count(*) from table as table2 where table2.id<=table.id) as rank ,
id,description
from table as table1
having rank = 100
order by id
То же способ не идеальный, так как join таблицы саму на себя никогда не был хороши решением, но при небольщом количестве записей в таблице все-таки получше, чем курсор.
Остается только переложить этот запрос на X++
Или можно воспользоваться классами Connection, Statement, ResultSet. Они позволят выполнить этот запрос к БД напрямую, без преобразования sql выражения.
Вот кстати еще один метод решения этой задачи в T-SQL:
select count (table2.id) as rank, table1.id, table1.description
from table as table1 inner join table as table2 on
tree1.id >= table2.id
group by table1.id, table1.description
having rank = 100
order by rank
Хотя, может кто-то предложит решение этой задачи более Аксаптовсими методами