IDatasetModel.Open

Синтаксис Fore

Open(Params: IMetabaseObjectParamValues): IDatasetInstance;

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

Open(Params: Prognoz.Platform.Interop.Metabase.IMetabaseObjectParamValues): Prognoz.Platform.Interop.Db.IDatasetInstance;

Параметры

Params. Параметры источника данных. Null если параметры отсутствуют.

Описание

Метод Open открывает источник данных. Значения параметров источника данных передаются посредством Params.

Комментарии

Для открытия источника данных с применением фильтра используйте метод IDatasetModel.OpenWhere.

Пример Fore

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

Добавьте ссылки на системные сборки «Metabase» и «Db».

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    DSInst: IDatasetInstance;
    DSModel: IDatasetModel;
    Params: IMetabaseObjectParamValues;
    Fields: IDatasetInstanceFields;
    Field: IDatasetInstanceField;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById(
"Query_1").Bind;
    DSModel := MObj 
As IDatasetModel;
    Params := MObj.Params.CreateEmptyValues;
    Params.Item(
0).Value := "100";
    DSInst := DSModel.Open(Params);
    Fields := DSInst.Fields;
    
While Not DSInst.Eof Do
        
For Each Field In Fields Do
            Debug.Write(Field.Value + 
" ");
        
End For;
        Debug.WriteLine(
"");
        DSInst.Next;
    
End While;
End Sub UserProc;

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

Пример Fore

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Db;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    DSInst: IDatasetInstance;
    DSModel: IDatasetModel;
    Param: IMetabaseObjectParamValues;
    Fields: IDatasetInstanceFields;
    Field: IDatasetInstanceField;
Begin
    MB := Params.Metabase;
    MObj := MB.ItemById["Query_1"].Bind();
    DSModel := MObj As IDatasetModel;
    Param := MObj.Params.CreateEmptyValues();
    Param.Item[0].Value := "100";
    DSInst := DSModel.Open(Param);
    Fields := DSInst.Fields;
    While Not DSInst.Eof() Do
        For Each Field In Fields Do
            System.Diagnostics.Debug.Write(Field.Value + " ");
        End For;
        System.Diagnostics.Debug.WriteLine("");
        DSInst.Next();
    End While;
End Sub;

См. также:

IDatasetModel