Udostępnij za pośrednictwem


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.

Diagram przedstawiający relacje między typami 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łania IColumnsInfo::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 interfejsu ICommandWithParameters , jeśli dostawca obsługuje ICommandWithParameterspolecenie .

  • 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.

Diagram przedstawiający relacje między typami zestawu 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.

Zobacz też

Szablony konsumentów OLE DB