共用方式為


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_Datem_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
必要屬性
無效屬性

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

另請參閱

OLE DB 消費者屬性