Автогенерация InsertSQL, UpdateSQL

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Ответить
Akella
Сообщения: 175
Зарегистрирован: Пн 02 апр 2012 14:41

Автогенерация InsertSQL, UpdateSQL

Сообщение Akella » Ср 28 ноя 2018 14:10

Я знаю, что у TUniQuery есть возможность сгенерировать доп. запрос на основе SelectSQL.
Но это неочевидно, в справке нет. Нет готовых методов.
Приходится открывать предварительно сам запрос, что есть не совсем правильно.

Код: Выделить всё

        UniQuery1.Open;
        UniQuery1.SQLUpdate.Text := TDBAccessUtils.SQLGenerator(UniQuery1).GenerateSQL(TDAParamsInfo.Create(TDAParamInfo) , _stUpdate, true);
        UniQuery1.SQLRefresh.Text := TDBAccessUtils.SQLGenerator(UniQuery1).GenerateSQL(TDAParamsInfo.Create(TDAParamInfo) , _stRefresh, true);
да и без UniQuery1.Open вываливается AV :(

Было бы здорово, если бы было что-то вроде:
UniQuery1.GelerateAllSQLs.
UniQuery1.GelerateInsertSQL;
UniQuery1.GelerateUpdateSQL;
UniQuery1.GelerateDeleteSQL;
и т.д.
и без обязательного открытия набора данных.

ViktorV
Devart Team
Сообщения: 199
Зарегистрирован: Чт 31 июл 2014 09:52

Re: Автогенерация InsertSQL, UpdateSQL

Сообщение ViktorV » Ср 28 ноя 2018 14:31

Мы не видим целесообразности добавления данной функциональности. Но, если Вы хотите, чтобы мы добавили данную функциональность, пожалуйста, напишите об этом на нашем User Voice форуме: https://devart.uservoice.com/forums/104 ... components. Если Ваше предложение наберет достаточно голосов, мы рассмотрим возможность его создания.
Для решения вашей задачи, вы можете объявить наследника TUniQuery и добавить необходимые методы.
Обратите внимание, в коде задействованы внутренние методы и неправильное их использование может привести к непредсказуемым последствиям.

Ответить