Провайдер реализует интерфейс
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возвращает строку, определяющую способ включения в запрос литерала типа "Дата со временем".