db_param
Связывает указанная переменная члена с входом или параметром вывода и отделяет переменную.
[ db_param(
ordinal,
paramtype="DBPARAMIO_INPUT",
dbtype,
precision,
scale,
status,
length
) ]
Параметры
ordinal
Номер столбцаDBCOLUMNINFO порядковый номер), соответствующее полю в наборе строк, в котором для привязки данных.paramtype (необязательно)
Тип, которое нужно задать для параметра.Поставщики поддерживают только типы ВВОДА-ВЫВОДА параметра, поддерживаются базовым источником данных.Тип сочетание одного или нескольких DBPARAMIOENUM значения:DBPARAMIO_INPUT входной параметр.
DBPARAMIO_OUTPUT параметр вывода.
DBPARAMIO_NOTPARAM Метод доступа не имеет параметров.Установка eParamIO к этому значению в методах доступа строки напоминает пользователь, что параметры игнорируются.
dbtype (необязательно)
OLE DB Индикатор типа для записи столбца.Точность (необязательно)
Точность, используемая для записи столбца.Дополнительные сведения см. в разделе описание bPrecision элемент структура DBBINDINGмасштаб (необязательно)
Масштаб, используемый для записи столбца.Дополнительные сведения см. в разделе описание bScale элемент структура DBBINDINGсостояние (необязательно)
Переменная-член, используемая для хранения состояния данного столбца.Состояние, указывающее, является ли значение столбца значение данных или другое значение, например Значение NULL.Возможные значения см. Состояние в Справочник по программированию OLE DB.длина (необязательно)
Переменная-член, используемая для хранения размер столбца в байтах.
Заметки
db_param задает параметры, используемые в командах; поэтому используется с db_command.Например, можно использовать db_param в параметры привязки в запросах или в хранимых процедурах SQL.Параметры в хранимой процедуре обозначаются вопросительными знаками (?), и необходимо привязать элементы данных, в том порядке, в котором параметры появляются.
db_param отделяет данные члена, которые могут участвовать в OLE DB ICommandWithParametersпривязка на платформе.Он устанавливает параметр типа (входной или выходной), тип OLE DB, точность, масштаб, состояние и длину указанного параметра.Этот атрибут вставляет макросы BEGIN_PARAM_MAP объекта-получателя OLE DB…END_PARAM_MAP.Каждый член пометить с db_param атрибут займет одну запись в сопоставлении в форме COLUMN_ENTRY.
db_param используется в сочетании с этим db_table OR db_command атрибуты.
Когда поставщик атрибута объекта-получателя применяет этот атрибут к классу компилятор переименовывает класс, _YourClassNameметод доступа, где YourClassName имя указанного класса, и компилятор также создает класс YourClassName, что является производным от _YourClassNameметод доступа.В представлении классов отобразится оба класса.
Пример
В следующем примере создается класс команды на основе хранимой процедуре SalesbyYear в базе данных Northwind.Он связывает первый параметр в хранимой процедуре с m_RETURN_VALUE переменная и указывает его как параметр вывода.Он связывает последние 2 параметра (ввода) m_Beginning_Date и m_Ending_Date.
Следующий пример связывает nOutput переменная с параметром вывода.
// 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;
};
Требования
Контекст атрибута
Применение |
класс" structучастник, метод local |
Repeatable |
Нет |
Обязательные атрибуты |
None |
Недопустимые атрибуты |
None |
Дополнительные сведения о контекстах атрибута см. в разделе Контексты атрибута.