Discover(SystemDictionary: DalSystemDictionary; Filter: String): IDalCursor;
Discover(SystemDictionary: ; Filter: String): ;
SystemDictionary. Тип курсора, который необходимо получить.
Filter. Фильтр, который применяется к курсору.
Метод Discover возвращает выбранный тип курсора, содержащий информацию об объектах в СУБД репозитория.
Если драйвер не поддерживает соответствующий SystemDictionary, будет возвращаться Null.
Для выполнения примера подключите к модулю системные сборки Metabase и Dal.
Sub Main;
Var
Mb: IMetabase;
Connect: ISecurityConnection;
Cursor: IDalCursor;
CFields: IDalCursorFields;
CField: IDalCursorField;
i: Integer;
Begin
Mb := MetabaseClass.Active;
Connect := Mb.LogonSession.PrimaryConnection;
Cursor := Connect.Discover(DalSystemDictionary.Tables, "");
CFields := Cursor.Fields;
While Not Cursor.Eof Do
For i := 0 To CFields.Count - 1 Do
CField := CFields.Item(i);
Debug.WriteLine(CField.Name + " | " + CField.Value);
End For;
Cursor.Next;
End While;
End Sub Main;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
Connect: ISecurityConnection;
Cursor: IDalCursor;
CFields: IDalCursorFields;
CField: IDalCursorField;
i, c: Integer;
Begin
Mb := Params.Metabase;
Connect := Mb.LogonSession.PrimaryConnection;
Cursor := Connect.Discover(DalSystemDictionary.dsdTables, "");
CFields := Cursor.Fields;
c := CFields.Count;
While Not Cursor.Eof() Do
For i := 0 To c - 1 Do
CField := CFields.Item[i];
System.Diagnostics.Debug.WriteLine(CField.Name + " | " + CField.Value);
End For;
Cursor.Next();
End While;
End Sub;
После выполнения примера в окно консоли будет выведена системная информация о таблицах, хранящихся в текущем репозитории.
См. также: