Metody dostępu i zestawy wierszy
Aby ustawić i pobrać dane, szablony OLE DB używają metody dostępu i zestawu wierszy za pośrednictwem klasy CAccessorRowset . Ta klasa może obsługiwać wiele metod dostępu różnych typów.
Typy metod dostępu
Wszystkie metody dostępu pochodzą z bazy danych CAccessorBase. CAccessorBase
zawiera zarówno parametr, jak i powiązanie kolumn.
Na poniższej ilustracji przedstawiono typy metod dostępu.
Klasy akcesoriów
CAccessor Użyj tej metody dostępu, gdy znasz strukturę źródła bazy danych w czasie projektowania.
CAccessor
statycznie wiąże rekord bazy danych zawierający bufor ze źródłem danych.CDynamicAccessor Użyj tej metody dostępu, gdy nie znasz struktury bazy danych w czasie projektowania.
CDynamicAccessor
wywołaniaIColumnsInfo::GetColumnInfo
w celu uzyskania informacji o kolumnie bazy danych. Tworzy ona metodę dostępu i bufor oraz zarządza nią.CDynamicParameterAccessor użyj tej metody dostępu do obsługi nieznanych typów poleceń. Podczas przygotowywania poleceń
CDynamicParameterAccessor
można uzyskać informacje o parametrach z interfejsuICommandWithParameters
, jeśli dostawca obsługujeICommandWithParameters
polecenie .CDynamicStringAccessor, CDynamicStringAccessorA i CDynamicStringAccessorW używają tych klas, jeśli nie znasz schematu bazy danych.
CDynamicStringAccessorA
pobiera dane jako ciągi ANSI;CDynamicStringAccessorW
pobiera dane jako ciągi Unicode.CManualAccessor W tej klasie można użyć dowolnych typów danych, jeśli dostawca może przekonwertować typ. Obsługuje zarówno kolumny wyników, jak i parametry polecenia.
Poniższa tabela zawiera podsumowanie obsługi typów metod dostępu szablonu OLE DB.
Typ dostępu | Dynamiczny | Obsługa parametrów | Buffer | Wiele metod dostępu |
---|---|---|---|---|
CAccessor |
Nie. | Tak | User | Tak |
CDynamicAccessor |
Tak | Nie. | Szablony OLE DB | Nie. |
CDynamicParameterAccessor |
Tak | Tak | Szablony OLE DB | Nie. |
CDynamicStringAccessor[A,W] |
Tak | Nie. | Szablony OLE DB | Nie. |
CManualAccessor |
Tak | Tak | User | Tak |
Typy zestawów wierszy
Szablony OLE DB obsługują trzy rodzaje zestawów wierszy (zobacz poprzedni rysunek): pojedyncze zestawy wierszy (zaimplementowane przez zestaw CRowset), zestawy wierszy zbiorczych (zaimplementowane przez CBulkRowset) i zestawy wierszy tablicy (zaimplementowane przez CArrayRowset). Pojedyncze zestawy wierszy pobierają jeden uchwyt wiersza, gdy MoveNext
jest wywoływany. Zbiorcze zestawy wierszy mogą pobierać wiele dojść wierszy. Zestawy wierszy tablic to zestawy wierszy, do których można uzyskać dostęp przy użyciu składni tablicy.
Na poniższej ilustracji przedstawiono typy zestawów wierszy.
Klasy zestawu wierszy
Zestawy wierszy schematu nie uzyskują dostępu do danych w magazynie danych, ale uzyskują dostęp do informacji o magazynie danych nazywanych metadanymi. Zestawy wierszy schematu są zwykle używane w sytuacjach, w których struktura bazy danych nie jest znana w czasie kompilacji i musi być uzyskiwana w czasie wykonywania.