db_param

将指定的成员变量与输入或输出参数并将变量。

[ db_param( 
   ordinal, 
   paramtype="DBPARAMIO_INPUT", 
   dbtype, 
   precision, 
   scale, 
   status, 
   length
) ]

参数

  • ordinal
    列数 (DBCOLUMNINFO 序号) 与绑定数据的行集合的字段相对应。

  • paramtype (可选)
    设置类型为参数。 提供程序支持参数由基础数据源支持的 I/O 类型。 该类型是一个或多 DBPARAMIOENUM 值的组合:

    • DBPARAMIO_INPUT输入参数。

    • DBPARAMIO_OUTPUT输出参数。

    • DBPARAMIO_NOTPARAM 访问器没有参数。 将设置为值的 eParamIO 在行访问器提醒用户参数将被忽略。

  • dbtype (可选)
    列项的 OLE DB 键入指示器

  • 精度 (可选)
    为列项将使用的精度。 有关详细信息,请参见 DBBINDING 结构bPrecision 元素的说明

  • 缩放 (可选)
    为列项将使用缩放。 有关详细信息,请参见 DBBINDING 结构bScale 元素的说明

  • 状态 (可选)
    用于的成员变量保存该列的状态。 状态指示列值是否为数据绑定值或其他值,如 NULL。 有关可能的值,请参见 " OLE DB 程序员的状态引用

  • 长度 (可选)
    用于的成员变量来保存列的大小 (以字节为单位)。

备注

db_param 定义可在命令的参数;因此将它与 db_command。 例如,可以使用 db_param 为固定参数在 SQL 查询或存储过程。 在存储过程中的参数表示由问号 (?),因此,您应绑定数据成员按参数的出现顺序。

db_param 分隔可参与 OLE DB ICommandWithParameters基于绑定的数据成员。 它将参数类型 (输入或输出), OLE DB 类型、精度、缩放、状态和长度为指定的参数。 此特性插入 OLE DB 使用者宏 BEGIN_PARAM_MAP… END_PARAM_MAP. 在标有 db_param 属性以 COLUMN_ENTRY 形式,的每个成员将占用在映射的项。

db_paramdb_tabledb_command 特性一起使用。

当使用者属性提供程序应用此特性应用于类,编译器将类重命名为 _TheClassNameAccessor, TheClassName 的名称就是您为该类,因此,编译器还将创建一个名为 TheClassName 的 从 _TheClassNameAccessor 派生。 在类视图中,您将看到两类。

示例

下面的示例 Northwind 数据库中创建基于 SalesbyYear 存储过程的命令类。 其关联在存储过程中的第一个参数与 m_RETURN_VALUE 变量,并定义为输出参数。 其关联最后两个输入参数 () 与 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,成员,方法,本地

可重复

必需的特性

无效的特性

有关属性上下文的更多信息,请参见 属性上下文

请参见

其他资源

OLE DB使用者特性

Attributes Samples