SetDataメソッド
機能
指定された番号の要素に,値を設定します。
形式
virtual void SetData(INT32 i32Index, INT32 i32Data) throw DBSQLCA
virtual void SetData(INT32 i32Index, INT16 i16Data) throw DBSQLCA
virtual void SetData(INT32 i32Index, SINGLE sfData) throw DBSQLCA
virtual void SetData(INT32 i32Index, DOUBLE dfData) throw DBSQLCA
virtual void SetData(INT32 i32Index, LPCTSTR lpctData)
throw DBSQLCA
virtual void SetData(INT32 i32Index, const DBR_DATETIME&
dtData) throw DBSQLCA
virtual void SetData(INT32 i32Index, const DBR_BINARY & binData)
throw DBSQLCA
引数
i32Index
データを設定する要素番号を,1からフィールドの要素数以下の値で指定します。
xxData
設定する値を指定します。この引数に指定できるデータ型については,機能詳細の「第2引数に指定できるデータの型」を参照してください。
戻り値
なし
機能詳細
ArrayDataオブジェクトに,要素の値を設定します。値を設定しなかった要素は,欠損値の扱いになります。
第2引数に指定できるデータの型
第2引数に指定できるデータの型は,DBRArrayDataオブジェクトの生成時にDBRArrayDataFactoryオブジェクトのCreateArrayDataメソッドで指定した型によって異なります。CreateArrayDataメソッドの引数ごとに指定できるデータ型を表6-2,6-3に示します。
なお,コピーして作成した更新用のDBRArrayDataオブジェクトへ指定できるデータ型は,コピー元のデータ型に依存します。
表6-2 CreateArrayDataメソッドの引数ごとに指定できるデータ型(1)
CreateArrayDataの引数 | 引数の型 | |||
---|---|---|---|---|
INT16 | INT32 | SINGLE | DOUBLE | |
COL_TYPE_INT16 | ◎ | △ | △ | △ |
COL_TYPE_INT32 | △ | ◎ | △ | △ |
COL_TYPE_SINGLE | △ | △ | ◎ | △ |
COL_TYPE_DOUBLE | △ | △ | △ | ◎ |
COL_TYPE_NUMERIC | × | × | × | × |
COL_TYPE_CHAR | × | × | × | × |
COL_TYPE_VARCHAR | × | × | × | × |
COL_TYPE_DATE | × | × | × | × |
COL_TYPE_TIME | × | × | × | × |
COL_TYPE_INTERVAL_YEAR | × | × | × | × |
COL_TYPE_INTERVAL_HOUR | × | × | × | × |
表6-3 CreateArrayDataメソッドの引数ごとに指定できるデータ型(2)
CreateArrayDataの引数 | 引数の型 | ||
---|---|---|---|
LPCTSTR | DBR_DATETIME | DBR_BINARY | |
COL_TYPE_INT16 | × | × | × |
COL_TYPE_INT32 | × | × | × |
COL_TYPE_SINGLE | × | × | × |
COL_TYPE_DOUBLE | × | × | × |
COL_TYPE_NUMERIC | ○ | × | × |
COL_TYPE_CHAR | ◎※ | × | ◎※ |
COL_TYPE_VARCHAR | ◎ | × | ◎ |
COL_TYPE_DATE | × | ○ | × |
COL_TYPE_TIME | × | ○ | × |
COL_TYPE_INTERVAL_YEAR | × | ○ | × |
COL_TYPE_INTERVAL_HOUR | × | ○ | × |
DBR_DATETIME型を指定する場合の注意
DBR_DATETIME型の各メンバ変数に対して,以下の制限に反した値を指定した場合,DB_ERROR_TOO_LARGE_DATAのエラーをスローします。値の正当性はチェックしないため,例えば,Hourに対して50を設定してもエラーにはなりません。
DECIMAL型を指定する場合の注意
DECIMAL型の値を設定する場合,ユーザが指定した文字列が以下の条件に当てはまる場合は,DB_DRV_ERROR_DATA_CONVERTのエラーをスローします。
発生する例外
DBSQLCA(RetCode)