CdbrEqlStatement::SetObjParamメソッド

機能

edmSQL文の?パラメタ(DMAオブジェクト)の設定

形式

DmaBoolean SetObjParam (
 DmaInteger32      lParamIndex,
 pDmaString_T      pOIID)

詳細

edmSQL文中の?パラメタにDMAオブジェクトを設定するメソッドです。なお,DMAオブジェクトは直接指定できないため,オブジェクトの識別子であるOIIDを指定します。

このメソッドで設定した?パラメタの値(DMAオブジェクト)は,CdbrEqlStatement::Executeメソッドのコール時に有効になります。?パラメタが存在しないedmSQL文,または?パラメタにDMAオブジェクトを設定しないedmSQL文を実行する場合は,このメソッドをコールする必要はありません。

?パラメタの値(DMAオブジェクト)は,最後に設定した値が有効になります。設定し直していない?パラメタの値は有効なままです。ただし,CdbrEqlStatement::Setメソッドがコールされた場合には,すでに設定されている?パラメタのすべての値が無効になります。つまり,CdbrEqlStatement::Setメソッドで設定したedmSQL文の,すべての?パラメタについて値を設定し直す必要があります。

なお,?パラメタにOIIDを設定する場合にはCdbrEqlStatement::SetOIIDParamメソッドを使用し,OIIDでもDMAオブジェクトでもない値を設定する場合にはCdbrEqlStatement::SetParamメソッドを使用してください。

CdbrEqlStatement::Initializeメソッドがコールされていない状態でこのメソッドをコールした場合は,エラーになります。

戻り値がDMA_FALSEの場合,設定された?パラメタの値(DMAオブジェクト)は保証できません。

引数

lParamIndex(入力)

edmSQL文中のDMAオブジェクトを設定する?パラメタの出現順序を指定します。

1~(edmSQL文中の?パラメタの数)の範囲で指定してください。0以下の値を指定した場合には,エラーになります。0より大きい値で範囲外の値を指定した場合は,CdbrEqlStatement::Executeメソッドのコール時にエラーになります。

また,同一の?パラメタに対して,複数回,値を設定した場合には,最後に設定した値が有効になります。

pOIID(入力)

edmSQL文中の?パラメタに設定する値を指定します。DMAオブジェクトのOIIDを指定してください。

指定した値がOIIDでない場合およびNULLの場合にはエラーになります。OIIDかどうかは,次に示す観点からチェックされます。

指定した値が,構文不正な値となる場合は,CdbrEqlStatement::Executeメソッドのコール時にエラーになります。

戻り値

DMA_TRUE  正常終了

DMA_FALSE 異常終了

戻り値の詳細

major_codeminor_code説明対処
ERR_DBRERR_EQL_NOT_INITIALIZE初期化が実行されていません。初期化を実行してください。
ERR_DMADMARC_BAD_PARAMETER不正な引数が入力されました。正しい引数を指定してください。
ERR_DMADMARC_NO_MEMORYメモリ不足で実行できません。メモリを増設してください。またはメモリを大量に消費しているアプリケーションを停止させて,処理を再実行してください。
ERR_DMADMARC_UNEXPECTED予期しないエラーが発生しました。処理を終了してください。