SQLのUPDATE文又はINSERT文に?パラメタを利用して要素を設定する方法です。更新の単位は,要素全体になります。この方法は,詳細版だけで利用できます。
SQL文は,DBPreparedStatementクラスを使います。繰り返し列を含まないレコードの更新と異なるのは, DBRArrayDataクラスを利用して要素の値を設定する点です。
なお,繰り返し列全体を?パラメタとした場合,「2要素目だけ」という更新はできません。必ず全体を更新することになります。2要素目だけというような更新をする場合は,UPDATE文でARRAY句を利用してください。
(例)UPDATE文の繰り返し列に?パラメタを使用し更新する。
//////////////////////////////////////////////////////////////
/// SQLの実行(レコードの更新)-
/// DBPreparedStatementクラスで?パラメタのあるUPDATE文を指定
// DBPreparedStatementオブジェクトの生成
pStatement = pConnect->CreatePreparedStatement(
"UPDATE TABLE1 SET F1=? WHERE ID='CPP'");
// SQL文の解析
pStatement -> Execute();
// Factoryオブジェクトの生成
DBRArrayDataFactory * pFactory = pConnect->
GetArrayDataFactory();
DBRArrayDataPtr pArray =pFactory->
CreateArrayData(COL_TYPE_CHAR,10);
pArray->Create(2);
pArray->SetData(1,"NET");
pArray->SetData(2,"DB");
pStatement->SetParam(1,pArray);
pStatement->ExecuteUpdate();