Показать сообщение отдельно
Старый 01.12.2009, 17:32   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Не знал. Но посмотрел, что именно делает этот класс/форма и вижу, что для моих целей он не пригоден.

Для примера у нас SqlDictionary имеет

Положительные RecId в диапазоне от 1 до 2`106`710`503.
Отрицательные RecId в диапазоне от -16 до -2`147`413`227
Всего записей = 23`623

Класс SysRecIdRepair всего-лишь выполняет сдвиг всех значений RecId на некоторую фиксированную величину. Что при таком разбросе значений RecId - бессмысленно. Т.е. от "дыр" в нумерации он никак не избавит.

Ну, и кроме того, поскольку минимальное положительное значение равно 1, то сдвига вообще не будет. Разве что, взять этот класс за основу для написания собственного "перенумератора"
Он как раз наоборот, создает новую последовательность идентификаторов для каждой таблицы, поэтому, к примеру, у вас в SqlDictionary получилось бы RecId от 1 до 23623 в результате выполнения этого класса.

Поищите по форуму - с ним есть небольшие проблемы , из-за чего я и спросить "боитесь ли".