GetParamメソッド

機能

SetParamメソッドで指定したパラメタの値を取得します。

形式1:ユーザ確保領域へコピーする場合

インデクス番号指定

void GetParam(UINT32 dwIndex,INT16* sParam) throw DBSQLCA
void GetParam(UINT32 dwIndex,INT32* lParam) throw DBSQLCA
void GetParam(UINT32 dwIndex,UINT16* swParam) throw DBSQLCA
void GetParam(UINT32 dwIndex,UINT32 * dwParam) throw DBSQLCA
void GetParam(UINT32 dwIndex,SINGLE* sfParam) throw DBSQLCA
void GetParam(UINT32 dwIndex,DOUBLE* dfParam) throw DBSQLCA
void GetParam(UINT32 dwIndex,DBR_DATETIME* dtParam)
                                              throw DBSQLCA
void GetParam(UINT32 ui32Index,DBRArrayDataPtr* parParam)
                                              throw DBSQLCA

レコード番号・インデクス番号指定

void GetParam(UINT32 dwRow,UINT32 dwIndex,INT16* sParam)
                                              throw DBSQLCA
void GetParam(UINT32 dwRow,UINT32 dwIndex,INT32* lParam)
                                              throw DBSQLCA
void GetParam(UINT32 dwRow,UINT32 dwIndex,UINT16* swParam)
                                              throw DBSQLCA
void GetParam(UINT32 dwRow,UINT32 dwIndex,UINT32 * dwParam)
                                              throw DBSQLCA
void GetParam(UINT32 dwRow,UINT32 dwIndex,SINGLE* sfParam)
                                              throw DBSQLCA
void GetParam(UINT32 dwRow,UINT32 dwIndex,DOUBLE* dfParam)
                                              throw DBSQLCA
void GetParam(UINT32 dwRow,UINT32 dwIndex,DBR_DATETIME*
                                     dtParam) throw DBSQLCA
void GetParam(UINT32 ui32Row,UINT32 ui32Index,
                   DBRArrayDataPtr* parParam) throw DBSQLCA

形式2:DABrokerが用意した領域を参照する場合

インデクス番号指定

void GetParam(UINT32 dwIndex,LPTSTR* lptParam) throw DBSQLCA
void GetParam(UINT32 dwIndex,DBR_BINARY* blobParam)
                                               throw DBSQLCA

レコード番号・インデクス番号指定

void GetParam(UINT32 dwRow,UINT32 dwIndex,LPTSTR* lptParam)
                                               throw DBSQLCA
void GetParam(UINT32 dwRow,UINT32 dwIndex,
                        DBR_BINARY* blobParam) throw DBSQLCA

形式3:ユーザ確保領域へコピーする場合

インデクス番号指定

UINT32 GetParam(UINT32 dwIndex,LPTSTR lptParam,
                                UINT32 dwSize) throw DBSQLCA
UINT32 GetParam(UINT32 dwIndex,DBR_BINARY* blobParam,
                                UINT32 dwSize) throw DBSQLCA

レコード番号・インデクス番号指定

UINT32 GetParam(UINT32 dwRow,UINT32 dwIndex,LPTSTR lptParam,
                                UINT32 dwSize) throw DBSQLCA
UINT32 GetParam(UINT32 dwRow,UINT32 dwIndex,
         DBR_BINARY* blobParam,UINT32 dwSize) throw DBSQLCA

引数

dwIndex ,ui32Index

1から始まるパラメタの番号を指定します。指定するパラメタの番号は,SQL文中での出現順に割り当てられます。

dwRow

1から始まる,レコード番号を指定します。

*xxParam(形式1,3の第2引数)

データをコピーする領域のポインタを指定します。

*xxParam(形式2の第2引数)

ポインタ変数を指定します。

dwSize

コピー先の領域サイズをバイト数で指定します。

戻り値

データ型:UINT32

コピーした文字列の長さが返ります。パラメタの値を指定された型にキャストして取得します(形式3の場合)。

機能詳細

SetParamで設定した値を取得します。このメソッドは,Executeを呼び出し,SetParamメソッドでパラメタを渡した後に実行してください。SetParamを実行する前にGetParamを実行した場合,NULL文字,又は0が返ります。

形式1の処理

パラメタ値を,引数に指定されたポインタが指す領域にコピーします。

繰り返し列がある場合は,引数parParamに設定します。

形式2の処理

DABrokerが確保した領域にパラメタ値をコピーし,その先頭アドレスをポインタ変数に設定します。このため,LPTSTRまたはDBR_BINARYの変数の確保だけで,フィールド値をコピーする領域を確保する必要はありません。

形式3の処理

データ変換について

データベースのデータ型とGetParamの引数に指定したデータ型とが異なる場合は,値の変換できるものについては引数で指定したデータ型に変換して返します。

文字列から数値データ型への変換に失敗した場合は0を返します。データ型の変換規則については,「7.1 クラスライブラリで扱うデータ型と変換規則」のGetField,GetParamメソッドでのデータ型変換規則を参照してください。

NULL値の扱い

NULLであるパラメタに対してGetParamメソッドを呼び出すと,戻される値は意味のない値(0,空文字列,要素がすべて0,空文字列からなる構造体,又は不定値)となります。

このため,パラメタの値がNULLである可能性がある場合は,IsNullメソッドを呼び出して,NULL値かどうかを確認してください。

発生する例外

DBSQLCA(RetCode)

DB_ERROR_NOT_ENOUGH_MEMORY
メモリ容量が不足しています。
DB_ERROR_CANNOT_BE_NULL
引数lpctParamName,又は引数xxParamにNULLを指定しています。
DB_ERROR_ARGUMENT_OUT_OF_RANGE
引数dwRow,又は引数dwIndexの範囲が不正です(Execute実行前に実行した場合を含みます)。
DB_ERROR_DATA_TRUNCATED
パラメタの値を指定した型に変換できません。
DB_ERROR_CONVERT_ARRAY_TO_SCALAR
引数parDataで繰り返し列以外のフィールド値を取得しようとしました,又は引数parData以外の引数で繰り返し列の値を取得しようとしました。