Показать сообщение отдельно
Старый 21.10.2005, 10:48   #1  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Как изменить id полей?
Здравствуйте!

Собственно сабж. Возникло непонятное расхождение между fieldId в одной из таблиц на рабочей и тестовой базах. Соответственно, поднятая на рабочую форма, основанная на этой таблице, показала какую-то ерунду (на форме, как известно, привязка контролов идет по fieldId). Экспорт-импорт со значениями идентификаторов не исправляет id существующих полей. Можно, конечно, удалить с тестовой базы все поля с неверными id, импортировать таблицу со значениями идентификаторов из рабочей базы и затем создать недостающие поля заново, подготовив тем самым правильную структуру таблицы. В процессе этих манипуляций, естественно, теряются данные из полей, что для тестовой базы некритично.
Но возникла идея решить проблему путем замены fieldId непосредственно, без пересоздания полей. Сейчас это праздное любопытство, но, вполне возможно, когда-нибудь поможет решить более серьезную проблему.

Пока я смог накопать только то, что простое программное изменение id поля в таблицах UtilIdElements и SQLDictionary приводит следующему: id в репозитарии меняется, но поле теряет все свои свойства, в том числе и тип.

Поэтому вопрос к общественности: решаема ли такая задача?
__________________
Андрей.