Табличные параметры
Добавлено: Пт 28 сен 2018 09:35
Плотно работаю с табличными параметрами и столкнулся с одной весьма неудобной вещью.
Создается объект TMSTableData, прописываем тип на сервере, открываем заполняем.
Затем присваиваем ParamByName('xxx').asTable:= TMSTableData.Table
Затем все открываем и все замечательно работает, НО, если перед открытием запроса объект TMSTableData будет например
удален, то запрос не выполнится и получим ошибку. Тут как бы все логично, идет ссылка на уже несуществующий в памяти объект.
Но в случае когда мы динамически работаем с запросами использующими табличные параметры приходится городить связи между самим TMSQuery и всеми табличными объектами тоже созданными в рантайме.
Т.е хочется какой-то метод который загрузит данные из TMSTableData в табличный параметр после чего может быть безопасно убит, а запрос будет преспокойно открываться и работать. В идеале вообще чтобы TMSTableData был встроен в TMSParam и не требовалось городить связки объектов.
Создается объект TMSTableData, прописываем тип на сервере, открываем заполняем.
Затем присваиваем ParamByName('xxx').asTable:= TMSTableData.Table
Затем все открываем и все замечательно работает, НО, если перед открытием запроса объект TMSTableData будет например
удален, то запрос не выполнится и получим ошибку. Тут как бы все логично, идет ссылка на уже несуществующий в памяти объект.
Но в случае когда мы динамически работаем с запросами использующими табличные параметры приходится городить связи между самим TMSQuery и всеми табличными объектами тоже созданными в рантайме.
Т.е хочется какой-то метод который загрузит данные из TMSTableData в табличный параметр после чего может быть безопасно убит, а запрос будет преспокойно открываться и работать. В идеале вообще чтобы TMSTableData был встроен в TMSParam и не требовалось городить связки объектов.