db_param
Kojarzy zmienną określonego elementu członkowskiego parametru wejściowego lub wyjściowego i rozdziela zmiennej.
[ db_param(
ordinal,
paramtype="DBPARAMIO_INPUT",
dbtype,
precision,
scale,
status,
length
) ]
Parametry
ordinal
Numer kolumny (DBCOLUMNINFO porządkowej) odpowiadającą pola wierszy, do którego należy powiązać dane.paramtype (opcjonalnie)
Dla parametru typu.Dostawcy obsługują tylko typy wejścia/wyjścia parametrów, które są obsługiwane przez źródło danych.Typ jest kombinacją jednego lub więcej DBPARAMIOENUM wartości:DBPARAMIO_INPUT parametr wejściowy.
DBPARAMIO_OUTPUT parametru wyjściowego.
DBPARAMIO_NOTPARAM akcesor nie ma parametrów.Ustawienie eParamIO tej wartości w wierszu akcesorów przypomina użytkownika, że parametry są ignorowane.
Typ dbType (opcjonalnie)
OLE DB Wskaźnika typu dla wpisu kolumny.dokładność (opcjonalnie)
Dokładność stosowaną dla wpisu kolumny.Aby uzyskać szczegółowe informacje, zobacz opis bPrecision elementu struktury DBBINDINGSkala (opcjonalnie)
Skalę stosowaną dla wpisu kolumny.Aby uzyskać szczegółowe informacje, zobacz opis bScale elementu struktury DBBINDINGStan (opcjonalnie)
Zmienna członka, służący do przechowywania stanu w tej kolumnie.Stan wskazuje, czy wartość kolumny jest wartość danych lub inne wartości, takie jak NULL.Możliwe wartości, zobacz stanu w OLE DB Programmer's Reference.długość (opcjonalnie)
Zmienna członka, służący do przechowywania rozmiar kolumny w bajtach.
Uwagi
db_param definiuje parametry, których można użyć w poleceniach; Dlatego też korzystać z db_command.Na przykład, można użyć db_param powiązać parametrów w kwerendach SQL lub procedur przechowywanych.Parametry w przechowywanej procedurze wyróżnione znaki zapytania (?) i członkowie danych należy powiązać w kolejności, w jakiej wyświetlane są parametry.
db_param rozdziela dane elementu członkowskiego, która może uczestniczyć w OLE DB ICommandWithParameters-oparte wiązania.Ustawia typ parametru (wejście lub wyjście), typu OLE DB, precision, skali, stan i długości dla określonego parametru.Ten atrybut wstawia makra konsumenta OLE DB BEGIN_PARAM_MAP...END_PARAM_MAP.Każdy członek znaku z db_param atrybut będą zajmować jeden zapis na mapie w postaci COLUMN_ENTRY.
db_param jest używana w połączeniu z albo db_table lub db_command atrybuty.
Gdy dostawca atrybut konsumenta stosuje się ten atrybut do klasy, kompilator będzie Zmień nazwę klasy do _YourClassNameakcesor, gdzie YourClassName jest nazwą nadaną klasy i kompilator utworzy również klasy o nazwie YourClassName, który pochodzi od _YourClassNameakcesor.W widoku klasy widać obu klas.
Przykład
Poniższy przykład tworzy klasę polecenia na podstawie procedury SalesbyYear, przechowywane w bazie danych Northwind.Kojarzy pierwszy parametr w procedurze przechowywanej z m_RETURN_VALUE zmiennej, a definiuje ją jako parametru wyjściowego.Kojarzy dwa ostatnie parametry (wejście danych) z m_Beginning_Date i m_Ending_Date.
Poniższy przykład kojarzy nOutput zmiennej z parametru wyjściowego.
// 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
Atrybutu kontekstu
Stosuje się do |
Klasa, struct, członka, metody, lokalne |
Powtarzalne |
Nr |
Wymagane atrybuty |
Brak |
Nieprawidłowe atrybuty |
Brak |
Aby uzyskać więcej informacji na temat kontekstów atrybutu, zobacz Kontekstów atrybutu.