Discover(SystemDictionary: DalSystemDictionary; Filter: String): IDalCursor;
Discover(SystemDictionary: Prognoz.Platform.Interop.Dal.DalSystemDictionary; Filter: String): Prognoz.Platform.Interop.Dal.IDalCursor;
SystemDictionary. Тип курсора, полученного в результате выполнения SQL-запроса к БД;
Filter. Фильтр, который применяется к курсорам, полученным в результате выполнения SQL-запроса к БД.
Метод Discover возвращает соответствующий курсор в зависимости от параметра SystemDictionary.
Если драйвер не поддерживает соответствующий SystemDictionary, будет возвращаться Null.
Для выполнения примера подключите к модулю системные сборки Metabase и Dal.
Sub Macro;
Var
MB: IMetabase;
DB: IDatabaseInstance;
Cur: IDalCursor;
Field: IDalCursorField;
Begin
MB := MetabaseClass.Active;
DB := MB.ItemById("BD").Open(Null) As IDatabaseInstance;
Cur := DB.Connection.Discover(DalSystemDictionary.Tables, "");
While Not Cur.Eof Do
For Each Field In Cur.Fields Do
Debug.WriteLine(Field.Name + " " + Field.Value);
End For;
Debug.WriteLine("");
Cur.Next;
End While;
Cur.Close;
End Sub Macro;
После выполнения примера в окно консоли будет выведена системная информация о таблицах, хранящихся в указанной базе данных.
Указанная процедура является точкой входа для .NET-сборки.
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
DB: IDatabaseInstance;
Cur: IDalCursor;
Field: IDalCursorField;
Begin
MB := Params.Metabase;
DB := MB.ItemById("BD").Open(Null) As IDatabaseInstance;
Cur := DB.Connection.Discover(DalSystemDictionary.dsdTables, "");
While Not Cur.Eof Do
For Each Field In Cur.Fields Do
System.Diagnostics.Debug.WriteLine(Field.Name + " " + Field.Value);
End For;
System.Diagnostics.Debug.WriteLine("");
Cur.Next();
End While;
Cur.Close();
End Sub;
После выполнения примера в окно консоли будет выведена системная информация о таблицах, хранящихся в указанной базе данных.
См. также: