Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


15.11.5 配列を使用したINSERT機能の実行

表exに「123」,「200」,及び「null」を挿入する例を次に示します。

プログラム例はVisual C# .NETで記述していますが,Visual Basic.NETでもほぼ同じ内容です。必要に応じて,読み替えてください。

    // 接続オブジェクトなどを作成する
    HiRDBConnection    pConn = new HiRDBConnection("接続文字列");
    HiRDBCommand    pCom = pConn.CreateCommand();
 
    // DBに接続する
    pConn.Open();
 
    // パラメタオブジェクトを作成する
    HiRDBParameter    pPar = pCom.CreateParameter();
 
    // パラメタの設定をする
    pPar.Direction = ParameterDirection.Input;
    pPar.HiRDBType = HiRDBType.Integer;
    object [] aValue = new object[3];
    aValue[0] = 123;
    aValue[1] = 200;
    aValue[2] = null;
    pPar.Value = aValue;
    pCom.Parameters.Add(pPar);  .........................................1
    // パラメタを使用してSQL文を実行する
    pCom.CommandText = "insert into ex values(?)";
    pCom.ExecuteNonQuery(aValue.Length);  ...............................2
 
    // DBから切断する
    pConn.Close();
    pConn.Dispose();
[説明]
  1. パラメタのvalueには,パラメタの値を設定します。valueはobject型のため,すべての型を参照できます。通常のINSERT文ではInt32型を指定しますが,配列を使用したINSERT文の場合はobjectの配列をvalueに設定します。そして,object配列の各要素がInt32型を指すように設定します。ほかの型を使う場合も同様で,valueには必ずobjectの配列を設定します。

  2. SQLの実行にはExecuteNonQueryの:overloadを使用します。通常のExecuteNonQueryには引数はありませんが,配列を使用したINSERT文を使用する場合は,配列の大きさを指定します。

配列を使用した場合と使用しない場合とでは,パラメタのvalueを設定する部分と,SQLを実行する部分が異なります。