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 |
必要屬性 | 無 |
無效屬性 | 無 |
如需有關屬性內容的詳細資訊,請參閱 屬性內容。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應