Udostępnij za pośrednictwem


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 longznakó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.

Zobacz też

Atrybuty konsumentów OLE DB
Atrybuty klasy