Określeniu typu Accessor do użycia
Można określić typy danych na zestawu wierszy, w czasie kompilacji lub w czasie wykonywania.
Jeśli trzeba określić typy danych w czasie kompilacji, należy użyć akcesor statycznych (takich jak CAccessor).Ręcznie lub przy użyciu ATL OLE DB konsumenta kreatora można określić typy danych.
Jeśli trzeba określić typy danych w czasie wykonywania, należy użyć dynamicznego (CDynamicAccessor lub jego elementów podrzędnych) lub akcesora ręczne (CManualAccessor).W takich przypadkach można wywołać GetColumnInfo na zestawie wierszy, aby powrócić do kolumny wiążącej informacji, z którego można określić typy.
Poniższa lista zawiera typy akcesorów w szablonach konsumenta.Każdy akcesor ma wady i zalety.Zależnie od sytuacji jeden rodzaj akcesor powinny własnych potrzeb.
Klasy akcesor |
Wiązanie |
Parametr |
Komentarz |
---|---|---|---|
CAccessor |
Tworzenie rekordu użytkownika z COLUMN_ENTRY makr.Makra powiązać członek danych w tym rekordzie akcesor.Podczas tworzenia zestawu wierszy, kolumn, nie może być niezwiązany. |
Tak, przy użyciu PARAM_MAP wpis makro.Raz związana, parametrów nie może być niezwiązany. |
Najszybsze akcesora z powodu niewielkiej ilości kodu. |
CDynamicAccessor |
Automatyczne. |
Nie. |
Przydatne, jeśli nie znasz typu danych w zestawie wierszy. |
CDynamicParameterAccessor |
Automatyczne, ale może być zastąpiona. |
Tak, jeśli dostawca obsługuje ICommandWithParameters.Parametry powiązane automatycznie. |
Wolniejsze niż CDynamicAccessor ale przydatne do wywoływania procedur przechowywanych rodzajowy. |
CDynamicStringAccessor [, W] |
Automatyczne. |
Nie. |
Pobiera dane z magazynu danych jako ciąg danych. |
CManualAccessor |
Ręczne za pomocą AddBindEntry. |
Ręcznie za pomocą AddParameterEntry. |
Bardzo szybko; Parametry i kolumny związane tylko raz.Możesz określić typ danych, aby użyć.(Zobacz DBVIEWER próbki przykład.) Wymaga więcej kodu niż CDynamicAccessor lub CAccessor.Jest bardziej przypomina bezpośrednio wywołanie OLE DB. |
CXMLAccessor |
Automatyczne. |
Nie. |
Pobiera dane z magazynu danych jako ciąg danych i formatuje go jako oznakowane XML danych. |