db_param
Přidruží zadanou členovou proměnnou ke vstupnímu nebo výstupnímu parametru a odděluje proměnnou.
Syntaxe
[ db_param(ordinal, paramtype="DBPARAMIO_INPUT", dbtype, precision, scale, status, length) ]
Parametry
pořadový
Číslo sloupce (DBCOLUMNINFO ordinal) odpovídající poli v sadě řádků, ke kterému se mají svázat data.
paramtype
(Volitelné) Typ, který se má pro parametr nastavit. Poskytovatelé podporují pouze vstupně-výstupní typy parametrů podporované podkladovým zdrojem dat. Typ je kombinací jedné nebo více hodnot DBPARAMIOENUM:
DBPARAMIO_INPUT Vstupní parametr.
DBPARAMIO_OUTPUT Výstupní parametr.
DBPARAMIO_NOTPARAM Přístupový objekt nemá žádné parametry. Nastavení
eParamIO
této hodnoty v přístupových objektech řádků uživateli připomíná, že parametry jsou ignorovány.
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_param definuje parametry, které používáte v příkazech, a proto je používáte s db_command
. Pomocí db_param můžete například svázat parametry v dotazech SQL nebo uložených procedurách. Parametry uložené procedury jsou označeny otazníky (?) a měli byste svázat datové členy v pořadí, v jakém se parametry zobrazují.
db_param odděluje data členů, která se mohou účastnit vazby založené na OLE DBICommandWithParameters
. Nastaví typ parametru (vstup nebo výstup), typ OLE DB, přesnost, měřítko, stav a délku zadaného parametru. Tento atribut vloží makra příjemce OLE DB BEGIN_PARAM_MAP ... END_PARAM_MAP. Každý člen, který označíte atributem db_param , zabere jednu položku v mapě ve formě COLUMN_ENTRY.
db_param se používá 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
Následující příklad vytvoří třídu příkazů založenou na SalesbyYear uložená procedura v databázi Northwind. Přidruží první parametr uložené procedury k m_RETURN_VALUE
proměnné a definuje ho jako výstupní parametr. Přidruží poslední dva (vstupní) parametry k m_Beginning_Date
a m_Ending_Date
.
Následující příklad přidruží nOutput
proměnnou k výstupnímu parametru.
// db_param.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_source(L"my_connection_string"),
db_command(L"{ ? = CALL dbo.\"Sales by Year\"(?,?) }")
]
struct CSalesbyYear {
DBSTATUS m_dwShippedDateStatus;
DBSTATUS m_dwOrderIDStatus;
DBSTATUS m_dwSubtotalStatus;
DBSTATUS m_dwYearStatus;
DBLENGTH m_dwShippedDateLength;
DBLENGTH m_dwOrderIDLength;
DBLENGTH m_dwSubtotalLength;
DBLENGTH m_dwYearLength;
// Bind columns
[ db_column("1", status="m_dwShippedDateStatus", length="m_dwShippedDateLength") ] DBTIMESTAMP m_ShippedDate;
[ db_column("2", status="m_dwOrderIDStatus", length="m_dwOrderIDLength") ] LONG m_OrderID;
[ db_column("3", status="m_dwSubtotalStatus", length="m_dwSubtotalLength") ] CURRENCY m_Subtotal;
[ db_column("4", status="m_dwYearStatus", length="m_dwYearLength") ] TCHAR m_Year[31];
// Bind parameters
[ db_param("1", paramtype="DBPARAMIO_OUTPUT") ] LONG m_RETURN_VALUE;
[ db_param("2", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Beginning_Date;
[ db_param("3", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Ending_Date;
};
Požadavky
Kontext atributu | Hodnota |
---|---|
Platí pro | class , , struct člen, metoda, místní |
Opakovatelný | No |
Požadované atributy | Nic |
Neplatné atributy | Nic |
Další informace o kontextech atributů naleznete v tématu Kontexty atributů.