共用方式為


db_column

將指定的數據行系結至數據列集中的變數。

語法

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

參數

序數
序數數據行編號(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

scale
(選擇性)要用於數據行項目的尺規。 如需詳細資訊,請參閱 DBBINDING 結構的專案描述bScale

status
(選擇性)用來保存此數據行狀態的成員變數。 狀態會指出數據行值是數據值或某些其他值,例如NULL。 如需可能的值,請參閱 OLE DB 程式設計人員參考中的狀態

length
(選擇性)用來以位元組為單位保存資料行大小的成員變數。

備註

db_column將指定的數據表數據行系結至數據列集中的變數。 它會分隔可以參與 OLE DB IAccessor型系結的成員數據。 這個屬性會設定通常使用 OLE DB 取用者宏 BEGIN_COLUMN_MAPEND_COLUMN_MAPCOLUMN_ENTRY定義的數據行對應。 這些操作 OLE DB DBBINDING 結構 以系結指定的數據行。 您使用 db_column 屬性標記的每個成員都會佔用數據行對應中的一個專案,格式為數據行專案。 因此,您會呼叫這個屬性,您可以在其中放置數據行對應,也就是在命令或數據表類別中。

搭配db_tabledb_command屬性使用db_column。

當取用者屬性提供者將這個屬性套用至類別時,編譯程式會將類別重新命名為 _YourClassName 存取子,其中 YourClassName 是您提供類別的名稱,編譯程式也會建立名為 YourClassName的類別,其衍生自 _YourClassName 存取子。 在 [類別] 檢視中,您會看到這兩個類別。

如需應用程式中使用的此屬性範例,請參閱 MultiRead

範例

這個範例會將數據表中的數據行系結至 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;
};

需求

屬性內容
適用於 class、 、 struct成員、 方法
可重複 No
必要屬性
無效屬性

如需有關屬性內容的詳細資訊,請參閱 屬性內容

另請參閱

OLE DB 消費者屬性
類別屬性