db_column
Wiąże określoną kolumnę ze zmienną w zestawie wierszy.
Składnia
[ db_column(ordinal, dbtype, precision, scale, status, length) ]
Parametry
Porządkowych
Liczba porządkowa kolumny (DBCOLUMNINFO
porządkowa) lub nazwa kolumny (ANSI lub Ciąg Unicode) odpowiadająca polu w zestawie wierszy, z którym mają być powiązane dane. Jeśli używasz liczb, możesz pominąć kolejne reguły (na przykład: 1, 2, 3, 5). Nazwa może zawierać spacje, jeśli używany dostawca OLE DB go obsługuje. Można na przykład użyć jednego z następujących formatów:
[db_column("2")] TCHAR szCity[30];
[db_column(L"city_name")] TCHAR szCity[30];
dbtype
(Opcjonalnie) Wskaźnik typu OLE DB dla wpisu kolumny.
precyzja
(Opcjonalnie) Precyzja, która ma być używana dla wpisu kolumny. Aby uzyskać szczegółowe informacje, zobacz opis bPrecision
elementu struktury DBBINDING
skala
(Opcjonalnie) Skala, która ma być używana dla wpisu kolumny. Aby uzyskać szczegółowe informacje, zobacz opis bScale
elementu struktury DBBINDING
status
(Opcjonalnie) Zmienna składowa używana do przechowywania stanu tej kolumny. Stan wskazuje, czy wartość kolumny jest wartością danych, czy inną wartością, taką jak NULL. Aby uzyskać możliwe wartości, zobacz Stan w dokumentacji programisty OLE DB.
length
(Opcjonalnie) Zmienna składowa używana do przechowywania rozmiaru kolumny w bajtach.
Uwagi
db_column wiąże określoną kolumnę tabeli ze zmienną w zestawie wierszy. Rozdziela dane członkowskie, które mogą uczestniczyć w powiązaniu opartym na OLE DB IAccessor
. Ten atrybut konfiguruje mapę kolumny zwykle definiowaną przy użyciu makr konsumentów OLE DB BEGIN_COLUMN_MAP, END_COLUMN_MAP i COLUMN_ENTRY. Umożliwiają one manipulowanie strukturą DBBINDING OLE DBBINDING w celu powiązania określonej kolumny. Każdy element członkowski oznaczany za pomocą atrybutu db_column zajmie jeden wpis na mapie kolumny w postaci wpisu kolumny. W związku z tym należy wywołać ten atrybut, w którym należy umieścić mapę kolumn, czyli w klasie poleceń lub tabeli.
Użyj db_column w połączeniu z atrybutami db_table lub db_command .
Gdy dostawca atrybutów konsumenta zastosuje ten atrybut do klasy, kompilator zmieni nazwę klasy na _YourClassName Accessor, gdzie YourClassName jest nazwą nadaną klasę, a kompilator utworzy również klasę o nazwie YourClassName, która pochodzi z _YourClassName Accessor. W widoku klasy zobaczysz obie klasy.
Aby zapoznać się z przykładem tego atrybutu używanego w aplikacji, zobacz MultiRead.
Przykłady
Ten przykład wiąże kolumnę w tabeli z elementem long
członkowskim danych i określa pola stanu i długości.
// db_column_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_command(L"Select * from Products") ]
class CProducts {
DBSTATUS m_dwProductIDStatus;
DBLENGTH m_dwProductIDLength;
[ db_column("1", status="m_dwProductIDStatus", length="m_dwProductIDLength") ] LONG m_ProductID;
};
Ten przykład wiąże cztery kolumny z ciągiem long
znaków, znacznikiem czasu i DB_NUMERIC
liczbą całkowitą w tej kolejności.
// db_column_2.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_command(L"Select * from Products") ]
class CProducts {
[db_column("1")] LONG m_OrderID;
[db_column("2")] TCHAR m_CustomerID[6];
[db_column("4")] DB_NUMERIC m_OrderDate;
[db_column("7", dbtype="DBTYPE_NUMERIC")] DB_NUMERIC m_ShipVia;
};
Wymagania
Kontekst atrybutu | Wartość |
---|---|
Dotyczy | class , struct , składowa, metoda |
Powtarzalne | Nie. |
Wymagane atrybuty | Brak |
Nieprawidłowe atrybuty | Brak |
Aby uzyskać więcej informacji na temat kontekstów atrybutów, zobacz Konteksty atrybutów.