Поделиться через


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

Дополнительные сведения о контекстах атрибута см. в разделе Контексты атрибута.

См. также

Другие ресурсы

Атрибуты объекта-получателя OLE DB

Attributes Samples