配列に格納されたデータをADOレコードセットに高速で追加するには?

解決


komati  2004-11-17 02:15:10  No: 117634

現在、以下のようにしています。
Dim D(0 To 2, 0 To N)

For i = 0 To N
  rst.AddNew
  rst.Fields("GNO").Value = D(0, i)
  rst.Fields("ITEM").Value = D(1, i)
  rst.Fields("SCORE").Value = D(2, i)
  rst.Update
Next

これよりも高速に追加する方法をご教授ください。
よろしくお願いします。


魔界の仮面弁士  2004-11-17 06:47:50  No: 117635

> Dim D(0 To 2, 0 To N)
ReDimですよね。

> これよりも高速に追加する方法をご教授ください。
速度差は測定していないのでわかりませんが、
   F = Array("GNO", "ITEM", "SCORE")
   For i = 0 To N
       rst.AddNew F, Array( D(0, i), D(1, i), D(2, i) )
   Next
のような書き方もできますよ。


komati  2004-11-17 22:41:54  No: 117636

> ReDimですよね。
ReDim です。(^^;

魔界の仮面弁士さんの方法で、速度は倍近く速くなりました。
フィールド数が多い場合は更に効果ありそうですね。
他にも方法がございましたらご教示いただければ幸せです。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加