現在、ユーザーがSQLコードを入力できるようにするクラスを作成し、クラスは結果を配列に返し、さらに使用できるようにしています。ほとんどのメソッドは、ループを使用して OleDbDataReader オブジェクトから配列にデータを転送します。多数のアイテムを処理する場合、これは非常に遅くなる可能性があります。
現在の方法:
Dim SQLdr As OleDbDataReader 'SQL reader
Dim SQLCmd As New OleDbCommand() 'The SQL Command
Dim firstline As Boolean
SQLCmd.Connection = SQLConn 'Sets the Connection to use with the SQL Command
SQLCmd.CommandText = SQLStr 'Sets the SQL String
SQLdr = SQLCmd.ExecuteReader 'Gets Data
そしてその後..
While (SQLdr.Read)
If firstline = True Then
'fill headers
Do Until j = SQLdr.FieldCount
result(j, i) = SQLdr.GetName(j)
j = j + 1
Loop
firstline = False
j = 0
i = 1
End If
j = 0
Do Until j = SQLdr.FieldCount
ReDim Preserve result(result.GetUpperBound(0), result.GetUpperBound(1) + 1)
If display = True Then
MsgBox(j & ":" & i & SQLdr(j).ToString)
End If
result(j, i) = SQLdr(j).ToString
j = j + 1
Loop
i = i + 1
End While
結果を配列に出力するためのより直接的な方法があるかどうかを知りたい..申し訳ありませんが、どこから始めればよいか、それが可能かどうか、または誰かがこれを試したことがあるかどうかはわかりません前。