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を実行する部分が異なります。