db_column

将指定的列设置为行集合中的变量。

[ db_column( 
   ordinal, 
   dbtype, 
   precision, 
   scale, 
   status, 
   length 
) ]

参数

  • ordinal
    序号列数 (DBCOLUMNINFO 序号) 或列名 (ANSI 或 Unicode 字符串) 与绑定数据的行集合的字段相对应。如果使用数字,则可以跳过连续的序号 (例如:1, 2, 3, 5)。该名称可能包含空格,如果您使用的 OLE DB 提供程序支持它。例如,可以使用以下格式之一:

    [db_column("2")] TCHAR szCity[30];
    [db_column(L"city_name")] TCHAR szCity[30];
    
  • dbtype (可选)
    列项的 OLE DB 键入指示器

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

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

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

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

备注

db_column 绑定指定的表列到行集合中的变量。它分隔可参与 OLE DB IAccessor基于绑定的数据成员。此特性设置了使用 OLE DB 使用者宏通常定义的列映射 BEGIN_COLUMN_MAPEND_COLUMN_MAPCOLUMN_ENTRY。这些操作 OLE DB DBBINDING 结构 绑定指定列。在标有 db_column 属性以列项的窗体中,的每个成员将占用在列映射的项。因此,您调用您在命令或表类会将列映射,也就是说,将此属性。

db_tabledb_command 特性一起使用 db_column

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

在应用程序中使用的此属性的示例,请参见示例 AtlAgentMultiRead

示例

此示例在表中将列绑定到 long 数据成员并指定状态和长度字段。

// db_column_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[ db_command(L"Select * from Products") ]
class CProducts {
   DBSTATUS m_dwProductIDStatus;
   DBLENGTH m_dwProductIDLength;

   [ db_column("1", status="m_dwProductIDStatus", length="m_dwProductIDLength") ] LONG m_ProductID;
};

此示例将四列设置为 long、字符串、一个时间戳和一个 DB_NUMERIC 整数,按此顺序。

// db_column_2.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[ db_command(L"Select * from Products") ]
class CProducts {
   [db_column("1")] LONG m_OrderID;
   [db_column("2")] TCHAR m_CustomerID[6];
   [db_column("4")] DB_NUMERIC m_OrderDate;   
   [db_column("7", dbtype="DBTYPE_NUMERIC")] DB_NUMERIC m_ShipVia;
};

要求

属性上下文

适用对象

, struct,成员,方法

可重复

必需的特性

无效的特性

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

请参见

其他资源

OLE DB使用者特性

选件类特性

Attributes Samples