掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
バインド配列に変換 (ID:108521)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
あら。知りたかったのは、「strSQL の中身」だけだったのですが…… 現状のstrSQL の生成手順を示してくださったようですね。m(_ _)m vstrFilename の内容がわからなかったので、最終的なstrSQLの中身が どうなるのかわかりませんでしたが、おおよその類推はできました。現状は、 strSQL = "INSERT INTO ITEM (" & 列定義 & ") VALUES (" & 値定義 & ")" のようなSQLを動的に作成し、それを ExecuteSQL している…という事ですよね。 > 配列のサンプルになると、どれもFor文になってしまうし、 For文でもDo文でも、ループである事には変わりありませんよね? まず、バインド配列変数を定義するために、AddTableメソッドに バインド変数名(例: "STAFF_NAME") 入出力方向(例: ORAPARM_INPUT) データ型(例: ORATYPE_CHAR) 配列の行数 データ型のサイズ(数値または文字列の時のみ指定) という5個(4個)のパラメータを指定して、各パラメータを定義します。 なお、配列の行数に関しては、元データの総件数を指定すればOKです。 # 元データの行数が多すぎぎる場合は、指定する件数を減らして、 # 何回かに分けて実行した方が良いかもしれません。適宜調整してください。 次に、put_Valueメソッドで、バインド配列に値を格納して行きます。 最後に、CreateSqlメソッドで strSQL = "INSERT INTO STAFF_NAME (ID, STAFF_NAME, MAIL) VALUES (:ID, :STAFF_NAME, :MAIL)" といった形式の SQL を実行してやればOKです。 (上記のSQLの場合、"ID", "STAFF_NAME", "MAIL" という3種のバインド変数が使われます)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.