db_param
Kojarzy określoną zmienną składową z parametrem wejściowym lub wyjściowym i rozdziela zmienną.
Składnia
[ db_param(ordinal, paramtype="DBPARAMIO_INPUT", dbtype, precision, scale, status, length) ]
Parametry
Porządkowych
Numer kolumny (DBCOLUMNINFO) odpowiadający polu w zestawie wierszy, z którym mają być powiązane dane.
paramtyp
(Opcjonalnie) Typ, który ma być ustawiony dla parametru. Dostawcy obsługują tylko typy we/wy parametrów obsługiwane przez bazowe źródło danych. Typ jest kombinacją co najmniej jednej wartości DBPARAMIOENUM:
DBPARAMIO_INPUT Parametr wejściowy.
DBPARAMIO_OUTPUT parametr wyjściowy.
DBPARAMIO_NOTPARAM Akcesorium nie ma parametrów. Ustawienie
eParamIO
tej wartości w elementach dostępu wiersza przypomina użytkownikowi, że parametry są ignorowane.
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_param definiuje parametry używane w poleceniach, dlatego używasz go z db_command
. Na przykład można użyć db_param do powiązania parametrów w zapytaniach SQL lub procedurach składowanych. Parametry w procedurze składowanej są oznaczone znakami zapytania (?) i należy powiązać elementy członkowskie danych w kolejności, w jakiej są wyświetlane parametry.
db_param rozdziela dane członkowskie, które mogą uczestniczyć w powiązaniu opartym na OLE DBICommandWithParameters
. Ustawia typ parametru (dane wejściowe lub wyjściowe), typ OLE DB, precyzję, skalę, stan i długość określonego parametru. Ten atrybut wstawia makra użytkownika OLE DB BEGIN_PARAM_MAP ... END_PARAM_MAP. Każdy element członkowski oznaczyny atrybutem db_param zajmie jeden wpis na mapie w postaci COLUMN_ENTRY.
db_param jest używany 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.
Przykład
Poniższy przykład tworzy klasę poleceń na podstawie procedury składowanej SalesbyYear w bazie danych Northwind. Kojarzy pierwszy parametr w procedurze składowanej ze m_RETURN_VALUE
zmienną i definiuje go jako parametr wyjściowy. Kojarzy dwa ostatnie parametry (wejściowe) z parametrami m_Beginning_Date
i m_Ending_Date
.
Poniższy przykład kojarzy zmienną nOutput
z parametrem wyjściowym.
// 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;
};
Wymagania
Kontekst atrybutu | Wartość |
---|---|
Dotyczy | class , struct element członkowski, metoda, lokalna |
Powtarzalne | Nie. |
Wymagane atrybuty | Brak |
Nieprawidłowe atrybuty | Brak |
Aby uzyskać więcej informacji na temat kontekstów atrybutów, zobacz Konteksty atrybutów.