OLE DB 提供者樣板參考
OLE DB 提供者範本的類別和介面可以分組為下列類別。 參考數據也包含 OLE DB 提供者範本巨集的相關信息。
類別會使用下列命名慣例:名為的類別與模式 IWidgetImpl
會提供 介面 IWidget
的實作。
會話類別
IDBCreateSessionImpl
從數據源物件建立新的會話,並在新建立的會話上傳回要求的介面。 數據源物件的必要介面。
ISessionPropertiesImpl
呼叫屬性集對應所定義的靜態函式,以實作會話屬性。 屬性集對應應該在會話類別中指定。 會話的必要介面。
數據列集類別
提供標準 OLE DB 數據列集實作,而不需要多次繼承許多實作介面。 您必須提供實 Execute
作的唯一方法是 。
CSimpleRow
提供用於類別之數據列句柄 IRowsetImpl
的預設實作。 數據列句柄在邏輯上是結果數據列的唯一標記。 IRowsetImpl
針對 中IRowsetImpl::GetNextRows
要求的每個資料列建立新的 CSimpleRow
。
IAccessorImpl
OLE DB 需要提供者實 HACCESSOR
作 ,這是結構陣列的 DBBINDING
標記。 提供 HACCESSOR
結構地址的 BindType
。 數據列集和命令的必要專案。
IColumnsInfoImpl
委派給提供者數據行對應所定義的靜態函式。 數據列集和命令上的必要介面。
IConvertTypeImpl
提供命令或數據列集上類型轉換可用性的相關信息。 命令、數據列集和索引數據列集的必要專案。 藉由委派給 OLE DB 提供的轉換對象,實作 IConvertType
介面。
IDBSchemaRowsetImpl
實作 IDBSchemaRowset
介面和範本化建立者函 CreateSchemaRowset
式 。
IOpenRowsetImpl
開啟並傳回包含單一基表或索引中所有數據列的數據列集。 會話對象的強制介面。
IRowsetChangeImpl
實作 OLE DB IRowsetChange 介面,以更新現有數據列中的數據行值、刪除數據列,以及插入新數據列。
IRowsetCreatorImpl
這個類別繼承自 IObjectWithSite ,並覆寫 IObjectWithSite::SetSite。 IRowsetCreatorImpl
會執行與 IObjectWithSite
相同的函式,但也啟用 OLE DB 屬性 DBPROPCANSCROLLBACKWARDS
和 DBPROPCANFETCHBACKWARDS
。
IRowsetIdentityImpl
實作 IRowsetIdentity
介面,可讓您比較兩個數據列是否相同。
IRowsetImpl
提供 介面的實作 IRowset
,這是基底數據列集介面。
IRowsetInfoImpl
使用命令類別中定義的屬性集對應,實作數據列集屬性。 數據列集上的必要介面。
IRowsetLocateImpl
實作 OLE DB IRowsetLocate 介面,從數據列集擷取任意數據列。 若要支持數據列集中的 OLE DB 書籤,請讓數據列集繼承自這個類別。
IRowsetNotifyCP
實作廣播函式,以在數據列集內容的變更連接點 IID_IRowsetNotify
上建議接聽程式。 處理通知的取用者會實 作 IRowsetNotify, 並在該連接點上註冊。
IRowsetUpdateImpl
實作 OLE DB IRowsetUpdate 介面,可讓取用者延遲 IRowsetChange 對數據源所做的變更傳輸,並在傳輸之前復原變更。
命令類別
ICommandImpl
提供 ICommand
介面的實作。 這個介面不可見,但由 ICommandTextImpl
處理。 命令物件上的必要介面。
ICommandPropertiesImpl
介面的這個實作 ICommandProperties
是由巨集所 BEGIN_PROPSET_MAP
定義的靜態函式所提供。 命令的必要專案。
ICommandTextImpl
設定、儲存及傳回命令文字。 命令的必要專案。
IDBCreateCommandImpl
從會話物件建立新的命令,並在新建立的命令上傳回要求的介面。 會話對象的選擇性介面。
其他命令類別是 IColumnsInfoImpl
和 IAccessorImpl
,如上述數據列集類別一節所述。
數據源類別
IDBInitializeImpl
建立和刪除與取用者的連線。 數據源物件的必要介面,以及列舉值上的選擇性介面。
IDBPropertiesImpl
IDBProperties
是數據源對象的強制介面,也是列舉值的選擇性介面。 不過,如果列舉值公開 IDBInitialize
,則必須公開 IDBProperties
(資料源上的屬性)。
IGetDataSourceImpl
取得數據源物件的介面指標。 會話上的必要介面。
其他類別
CUtlProps
實作各種 OLE DB 屬性介面的屬性(例如、 IDBProperties
ISessionProperties
和 IRowsetInfo
。
實作 OLE DB IErrorRecords 介面,將記錄新增至數據成員並從中擷取記錄。