db_column
Vytvoří vazbu zadaného sloupce na proměnnou v sadě řádků.
Syntaxe
[ db_column(ordinal, dbtype, precision, scale, status, length) ]
Parametry
pořadový
Pořadové číslo sloupce (DBCOLUMNINFO
pořadové číslo) nebo název sloupce (ANSI nebo řetězec Unicode) odpovídající poli v sadě řádků, ke kterému se mají svázat data. Pokud používáte čísla, můžete přeskočit po sobě jdoucí ordinaly (například: 1, 2, 3, 5). Název může obsahovat mezery, pokud ho podporuje zprostředkovatel OLE DB, který používáte. Můžete například použít některý z následujících formátů:
[db_column("2")] TCHAR szCity[30];
[db_column(L"city_name")] TCHAR szCity[30];
dbtype
(Volitelné) Indikátor typu OLE DB pro položku sloupce.
přesnost
(Volitelné) Přesnost, která se má použít pro položku sloupce. Podrobnosti najdete v popisu bPrecision
prvku dbBINDING struktury.
škála
(Volitelné) Měřítko, které se má použít pro položku sloupce. Podrobnosti najdete v popisu bScale
prvku dbBINDING struktury.
status
(Volitelné) Členová proměnná použitá k uložení stavu tohoto sloupce. Stav označuje, zda je hodnota sloupce dat nebo jiná hodnota, například NULL. Možné hodnoty naleznete v tématu Stav v odkazech programátora OLE DB.
length
(Volitelné) Členová proměnná použitá k uložení velikosti sloupce v bajtech.
Poznámky
db_column vytvoří vazbu zadaného sloupce tabulky na proměnnou v sadě řádků. Odděluje data členů, která se mohou účastnit vazby založené na OLE DB IAccessor
. Tento atribut nastaví mapu sloupců obvykle definovanou pomocí maker příjemců OLE DB BEGIN_COLUMN_MAP, END_COLUMN_MAP a COLUMN_ENTRY. Tyto operace manipulují se strukturou OLE DBBINDING pro vytvoření vazby zadaného sloupce. Každý člen, který označíte pomocí atributu db_column , zabere jednu položku v mapě sloupce ve formě položky sloupce. Proto tento atribut zavoláte tam, kde byste umístili mapu sloupců, to znamená do příkazu nebo třídy tabulky.
Používejte db_column ve spojení s atributy db_table nebo db_command .
Když zprostředkovatel atributu příjemce použije tento atribut na třídu, kompilátor přejmenuje třídu na _YourClassNameAccessor, kde YourClassName je název, který jste dali třídě, a kompilátor vytvoří také třídu s názvem YourClassName, která je odvozena z _YourClassNameAccessor. V zobrazení třídy uvidíte obě třídy.
Příklad tohoto atributu použitého v aplikaci naleznete v tématu MultiRead.
Příklady
Tato ukázka vytvoří vazbu sloupce v tabulce na long
datový člen a určuje pole stavu a délky.
// 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;
};
Tato ukázka sváže čtyři sloupce s řetězcem long
znaků, časovým razítkem a DB_NUMERIC
celé číslo v tomto pořadí.
// 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;
};
Požadavky
Kontext atributu | Hodnota |
---|---|
Platí pro | class , , struct člen, metoda |
Opakovatelný | No |
Požadované atributy | Nic |
Neplatné atributy | Nic |
Další informace o kontextech atributů naleznete v tématu Kontexty atributů.