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 |
必要屬性 | 無 |
無效屬性 | 無 |
如需有關屬性內容的詳細資訊,請參閱 屬性內容。