共用方式為


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_MAP END_COLUMN_MAP COLUMN_ENTRY 定義的資料行對應。 這些操作 OLE DB DBBINDING 結構 以系結指定的資料行。 您使用 db_column 屬性標記 的每個成員都會佔用資料行對應中的一個專案,格式為數據行專案。 因此,您會呼叫這個屬性,您可以在其中放置資料行對應,也就是在命令或資料表類別中。

搭配 db_table db_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 消費者屬性
類別屬性