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 介面,將記錄新增至資料成員並從中擷取記錄。
另請參閱
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: