的一种方式,以确保该字段值是有对记录传递给像(你将不得不建立自己的连接功能)的阵列:
Function getStoredProcedure() As Variant
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim conn As ADODB.Connection
Dim values As Variant
Set conn = getConn("Server", "Database")
Set cmd = New ADODB.Command
cmd.ActiveConnection = conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "StoredProcedureName"
cmd.Parameters.Item("@TODAY") = today
Set rs = cmd.Execute
If Not rs.EOF Then
values = rs.GetRows
Else
Exit Function
End If
Set cmd = Nothing
getStoredProcedure= transposeArray(values)
End Function
从那里,你可以随时检索数组中的值。否则,如果没有看到您的代码或了解您正在尝试执行的操作,我无法确定这是ADODB的真正问题,因为我无法在以任何顺序提取字段项时重新创建此问题,例如:rs.Fields.Item(i).Value
for i = any number以任何顺序。
我知道GetRows的可以用来解决这个问题,但它使得使用记录比较烦琐:(我会尽量准备测试SQL /代码重现它 – Kodak