db_param
將指定的成員變數與輸入或輸出參數產生關聯,並分隔變數。
語法
[ db_param(ordinal, paramtype="DBPARAMIO_INPUT", dbtype, precision, scale, status, length) ]
參數
序數
數據行編號 (DBCOLUMNINFO 序數)對應至要系結數據之數據列集中的欄位。
paramtype
(選擇性)要為參數設定的類型。 提供者僅支援基礎數據源所支援的參數 I/O 類型。 此類型是一或多個 DBPARAMIOENUM 值的組合:
DBPARAMIO_INPUT :輸入參數。
DBPARAMIO_OUTPUT :輸出參數。
DBPARAMIO_NOTPARAM :存取子沒有參數。 在數據列存取子中設定
eParamIO
為此值,會提醒使用者忽略參數。
dbtype
(選擇性)數據行專案的 OLE DB 類型指標 。
有效位數
(選擇性)要用於數據行專案的有效位數。 如需詳細資訊,請參閱 DBBINDING 結構的專案描述bPrecision
scale
(選擇性)要用於數據行項目的尺規。 如需詳細資訊,請參閱 DBBINDING 結構的專案描述bScale
status
(選擇性)用來保存此數據行狀態的成員變數。 狀態會指出數據行值是數據值或某些其他值,例如NULL。 如需可能的值,請參閱 OLE DB 程式設計人員參考中的狀態。
length
(選擇性)用來以位元組為單位保存資料行大小的成員變數。
備註
db_param會定義您在命令中使用的參數,因此您會將其與 搭配db_command
使用。 例如,您可以使用 db_param 系結 SQL 查詢或預存程式中的參數。 預存程式中的參數是以問號 (?) 表示,您應該依照參數出現的順序系結數據成員。
db_param會分隔可以參與 OLE DB ICommandWithParameters
型系結的成員數據。 它會設定指定參數的參數類型(輸入或輸出)、OLE DB 類型、有效位數、小數位數、狀態和長度。 這個屬性會在 ... BEGIN_PARAM_MAP插入 OLE DB 消費者宏...END_PARAM_MAP。 您使用 db_param 屬性標記的每個成員都會以COLUMN_ENTRY的形式佔用地圖中的一個專案。
db_param會與db_table或db_command屬性搭配使用。
當取用者屬性提供者將這個屬性套用至類別時,編譯程式會將類別重新命名為 _YourClassName 存取子,其中 YourClassName 是您提供類別的名稱,編譯程式也會建立名為 YourClassName的類別,其衍生自 _YourClassName 存取子。 在 [類別] 檢視中,您會看到這兩個類別。
範例
下列範例會根據 Northwind 資料庫中的 SalesbyYear 預存程式建立命令類別。 它會將預存程式中的第一個參數與 m_RETURN_VALUE
變數產生關聯,並將它定義為輸出參數。 它會將最後兩個 (輸入) 參數與 m_Beginning_Date
和 m_Ending_Date
產生關聯。
下列範例會將 nOutput
變數與輸出參數產生關聯。
// db_param.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_source(L"my_connection_string"),
db_command(L"{ ? = CALL dbo.\"Sales by Year\"(?,?) }")
]
struct CSalesbyYear {
DBSTATUS m_dwShippedDateStatus;
DBSTATUS m_dwOrderIDStatus;
DBSTATUS m_dwSubtotalStatus;
DBSTATUS m_dwYearStatus;
DBLENGTH m_dwShippedDateLength;
DBLENGTH m_dwOrderIDLength;
DBLENGTH m_dwSubtotalLength;
DBLENGTH m_dwYearLength;
// Bind columns
[ db_column("1", status="m_dwShippedDateStatus", length="m_dwShippedDateLength") ] DBTIMESTAMP m_ShippedDate;
[ db_column("2", status="m_dwOrderIDStatus", length="m_dwOrderIDLength") ] LONG m_OrderID;
[ db_column("3", status="m_dwSubtotalStatus", length="m_dwSubtotalLength") ] CURRENCY m_Subtotal;
[ db_column("4", status="m_dwYearStatus", length="m_dwYearLength") ] TCHAR m_Year[31];
// Bind parameters
[ db_param("1", paramtype="DBPARAMIO_OUTPUT") ] LONG m_RETURN_VALUE;
[ db_param("2", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Beginning_Date;
[ db_param("3", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Ending_Date;
};
需求
屬性內容 | 值 |
---|---|
適用於 | class 、、 struct 成員、方法、本機 |
可重複 | No |
必要屬性 | 無 |
無效屬性 | 無 |
如需有關屬性內容的詳細資訊,請參閱 屬性內容。