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();
- [説明]
-
-
パラメタのvalueには,パラメタの値を設定します。valueはobject型のため,すべての型を参照できます。通常のINSERT文ではInt32型を指定しますが,配列を使用したINSERT文の場合はobjectの配列をvalueに設定します。そして,object配列の各要素がInt32型を指すように設定します。ほかの型を使う場合も同様で,valueには必ずobjectの配列を設定します。
-
SQLの実行にはExecuteNonQueryの:overloadを使用します。通常のExecuteNonQueryには引数はありませんが,配列を使用したINSERT文を使用する場合は,配列の大きさを指定します。
-
- 注
-
配列を使用した場合と使用しない場合とでは,パラメタのvalueを設定する部分と,SQLを実行する部分が異なります。