Получение данных из ExecuteCustomSQL

Всем привет!

Есть задача, получить результат неких вычеслений. Вычесления происходят на SQL.
В данном посте написано как: http://community.terrasoft.ru/blogs/2171
Но мне возвращается пустая строка... никаких ошибок не выдаётся. Получаемый результат НЕ набор данных и.т.д... а просто число/строка

function Main()
{
        var Parameters = System.CreateObject('TSObjectLibrary.Parameters');
        var ReturnParameter = Parameters.CreateItem();
        ReturnParameter.Name = 'Result';
        ReturnParameter.ParamType = 1;          
//        ReturnParameter.ParamType = 2;          
//        ReturnParameter.DataType = pdtString;
        ReturnParameter.DataType = pdtInteger;
//        ReturnParameter.DataType = pdtGUID;
        Parameters.Add(ReturnParameter);
        Connector.DBEngine.ExecuteCustomSQL("select 1 as Result;", Parameters);
        Log.Write(1, Parameters.ItemsByName('Result').Value+"");
}

Версия 3,2,0,10. В указаном выше посте написано "Дело в том, что выходные (output) параметры были добавлены, начиная с версии 3.2.0.x (с какой точно, сейчас сказать не могу)"
Что я не так делаю?

Или подскажите пожалуйста другой способ.

Спасибо!

Нравится

2 комментария

Возможно, дело в том, что Вы на самом деле не возвращаете никаких параметров. Инструкция "select 1 as Result" возвращает набор данных, состоящих из одной колонки и одной строки. Но Вы не присваиваете это значение параметру :Result. Попробуйте, например, так:

Connector.DBEngine.ExecuteCustomSQL("select :Result = 1", Parameters);
Log.Write(1, Parameters.ItemsByName('Result').Value+"");

СПАСИБО! Всё работает.

Показать все комментарии