IAdoMdConnection.Command

Синтаксис Fore

Command(Text: String): IDalCommand;

Синтаксис Fore.NET

Command(Text: string): Prognoz.Platform.Interop.Dal.IDalCommand;

Параметры

Text. Текст MDX-запроса, c которым будет инициализирован объект.

Описание

Метод Command инициализирует объект, позволяющий работать с сервером с помощью MDX-запросов.

Пример Fore

Для выполнения примера предполагается наличие в репозитории каталога ADOMD с идентификатором «ADOMDTest».

Sub UserProc;
Var
    MB: IMetabase;
    Catalog: IAdoMdCatalogInstance;
    Connection: IAdoMdConnection;
    sMDX: String;
    Command: IDalCommand;
    ResultCursor: IDalCursor;
    CFields: IDalCursorFields;
    CField: IDalCursorField;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    Catalog := MB.ItemById("ADOMDTest").Open(NullAs IAdoMdCatalogInstance;
    Connection := Catalog.Connection;
    sMDX := "SELECT ...";
    Command := Connection.Command(sMDX);
    //Выполнение MDX-запроса
    Command.Execute;
    //Получение результата выполнения
    ResultCursor := Command.CreateCursor;
    CFields := ResultCursor.Fields;
    While Not ResultCursor.Eof Do
        For i := 0 To CFields.Count - 1 Do
            CField := CFields.Item(i);
            Debug.WriteLine(CField.Name + " | " + CField.Value);
        End For;
        ResultCursor.Next;
    End While;
End Sub UserProc;

При выполнении примера будет создана команда, позволяющая выполнять многомерные запросы. После выполнения запроса будет создан курсор, содержащий результат. Полученные результаты будут выведены в консоль среды разработки.

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории каталога ADOMD с идентификатором «ADOMDTest». Указанный пример является точкой входа для .NET-сборки.

Imports Prognoz.Platform.Interop.AdoMd;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Catalog: IAdoMdCatalogInstance;
    Connection: IAdoMdConnection;
    sMDX: String;
    Command: IDalCommand;
    ResultCursor: IDalCursor;
    CFields: IDalCursorFields;
    CField: IDalCursorField;
    i: Integer;
Begin
    MB := Params.Metabase;
    Catalog := MB.ItemById["ADOMDTest"].Open(NullAs IAdoMdCatalogInstance;
    Connection := Catalog.Connection;
    sMDX := "SELECT ...";
    Command := Connection.Command(sMDX);
    //Выполнение MDX-запроса
    Command.Execute();
    //Получение результата выполнения
    ResultCursor := Command.CreateCursor();
    CFields := ResultCursor.Fields;
    While Not ResultCursor.Eof() Do
        For i := 0 To CFields.Count - 1 Do
            CField := CFields.Item[i];
            System.Diagnostics.Debug.WriteLine(CField.Name + " | " + CField.Value);
        End For;
        ResultCursor.Next();
    End While;
End Sub;

При выполнении примера будет создана команда, позволяющая выполнять многомерные запросы. После выполнения запроса будет создан курсор, содержащий результат. Полученные результаты будут выведены в консоль среды разработки.

См. также:

IAdoMdConnection