Мельница данных  (15.10.2024)
Интерфейс IInfoProvider
Провайдер реализует интерфейс
01  IInfoProvider = interface(IUnknown)
02    ['{64F8072B-7250-4C57-BA8E-D018C7B72CC7}']
03    function Get_TableCount: Integer; safecall;
04    function Get_Table(Index: Integer): ITableInfo; safecall;
05    function Perform(const SQL: WideString): IDataSet; safecall;
06    procedure Connect(const DataBase: WideString; 
07      const UserName: WideString; 
08      const Password: WideString); safecall;
09    function Get_CLSID: TGUID; safecall;
10    function Get_DateLiteral: WideString; safecall;
11    function Get_TimeLiteral: WideString; safecall;
12    function Get_DateTimeLiteral: WideString; safecall;
13  end; 
  • функция Get_CLSID возвращает GUID класса-провайдера.
  • процедура Connect осуществляет соединение с БД.
  • функция Get_TableCount возвращает количество таблиц, доступ к которым предоставляется провайдером.
  • функция Get_Table возвращает ссылку на информацию о таблице с номером Index. Ссылка на интерфейс ITableInfo или интерфейс ITableInfo2
  • функция Perform принимает текст сформированного SQL-запроса и возвращает ссылку на набор данных. Набор данных реализует интерфейс IDataSet.
  • функция Get_DateLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Дата".
  • функция Get_TimeLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Время".
  • функция Get_DateTimeLiteralвозвращает строку, определяющую способ включения в запрос литерала типа "Дата со временем".