也许我在.NET中花了太多时间,但似乎奇怪的是我无法轻松地将当前的ADO RecordSet记录传递给另一种方法.
Private Sub ProcessData(data As ADODB.Recordset)
While (Not data.EOF)
ProcessRecord ([data.CurrentRecord]) ' <-- There is no CurrentRecord property.
data.MoveNext
Wend
End Sub
Private Sub ProcessRecord(singleRecord As ADODB.Record)
' Do stuff.
End Sub
Run Code Online (Sandbox Code Playgroud)
我在主题上找到的信息很少,表示要传递整个RecordSet或创建一个新记录并手动将每个字段复制到它.
StackOverflow,有更好的方法吗?
就我个人而言,我会将整个记录集传递给 ProcessRecord 子例程。记录集始终通过引用传递,因此传递记录集不会产生任何开销(性能或内存消耗)。只需确保您没有移至 ProcessRecord 子例程中的下一条记录即可。