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_param 与 db_table 或 db_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,成员,方法,本地 |
可重复 |
否 |
必需的特性 |
无 |
无效的特性 |
无 |
有关属性上下文的更多信息,请参见 属性上下文。