db_param
指定したメンバー変数を入力または出力パラメーターに関連付け変数を区切ります。
[ db_param(
ordinal,
paramtype="DBPARAMIO_INPUT",
dbtype,
precision,
scale,
status,
length
) ]
パラメーター
ordinal
行セットの種類に対応する行数 DBCOLUMNINFO (序数) データをバインドする。paramtype (省略可能)
パラメーターに対して設定する型。 プロバイダーは基になるデータ ソースによってサポートされるパラメーターの I/O 型のみをサポートします。 型は DBPARAMIOENUM の一つまたは複数の値の組み合わせです :DBPARAMIO_INPUT 入力パラメーター。
DBPARAMIO_OUTPUT 出力パラメーター。
DBPARAMIO_NOTPARAM にアクセサーパラメーターはありません。 パラメーターを無視して行のアクセサーでこの値に設定 eParamIO はを示します。
dbtype (省略可能)
列のエントリの OLE DB インジケーター型。精密 (省略可能)
列のエントリに使用される精度。 詳細についてはDBBINDING 構造 の bPrecision の要素の説明を参照してください。スケール (省略可能)
列のエントリに使用するスケール。 詳細についてはDBBINDING 構造 の bScale の要素の説明を参照してください。状態 (省略可能)
この列の状態を保持するメンバー変数。 状態は列の値がデータ値またはそのほかの値であるかを示します null など)。 有効な値については" OLE DB Programmer's Reference " の 状態 を参照してください。長さ (省略可能)
バイト列のサイズを保持するメンバー変数。
解説
db_param はコマンドで使用するパラメーターを定義します ; したがって db_command で使用できます。 たとえばSQL クエリまたはスト プロシージャのパラメーターにバインド db_param を使用できます。 スト プロシージャのパラメーターは疑問符 () が表示されパラメーターの順序でデータ メンバーをバインドする必要があります。
db_param はOLE DB ICommandWithParameters のベースのバインディングに含めることができるメンバーのデータを区切ります。 このメソッドはパラメーターの型 () の入力または出力指定したパラメーターの型はOLE DB の精度スケーリングステータスおよび長さを設定します。 この属性はOLE DB コンシューマー BEGIN_PARAM_MAP マクロを… END_PARAM_MAP. db_param属性でマークする各メンバーはCOLUMN_ENTRY の形式でマップ 1 エントリを使用します。
db_param は db_table または db_command 属性とともに使用されます。
コンシューマー属性プロバイダーがクラスにこの属性を適用するとコンパイラは YourClassName はクラスを受け取るとコンパイラは_YourClassNameAccessor から派生 YourClassName と いうクラスを作成する名前です _YourClassNameAccessor にクラスの名前を変更します。 [クラス ビュー] でこれらのクラスを参照してください。
使用例
次の例ではNorthwind データベースの SalesbyYear ストのプロシージャに基づいてコマンド クラスを作成します。 これは m_RETURN_VALUE の変数とスト プロシージャの最初のパラメーターを関連付け出力パラメーターを定義します。 これは m_Beginning_Date と m_Ending_Date と最後の 2 回の入力パラメーター () を関連付けます。
次の例では出力パラメーターと 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;
};
必要条件
属性コンテキスト
対象 |
クラス struct のメンバーはローカル メソッド |
複数回の適用 |
X |
必要な属性 |
なし |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。