这是我的代码:
Dim conServer As ADODB.Connection
Dim rstResult As ADODB.Recordset
Dim strSQL As String
Set conServer = New ADODB.Connection
conServer.ConnectionString = "PROVIDER=SQLOLEDB; " _
& "DATA SOURCE=192.168.0.204; " _
& "INITIAL CATALOG=REPORTDB2; " _
& "User ID=sa;" _
& "Password="
conServer.Open
Set rstResult = New ADODB.Recordset
strSQL = "set nocount on; "
strSQL = strSQL & "select * from Table1;"
rstResult.ActiveConnection = conServer
rstResult.Open strSQL
MsgBox rstResult.RecordCount, , rstResult.Fields(1).Value
With rstResult
.MoveFirst
Do Until rstResult.EOF
Debug.Print abc & "," & .Fields(0) & "," & .Fields(1).Value
.MoveNext
Loop
End With
MSGBOX 线显示我 -1 作为 RecordCount,但同时 rstResult.Fields(1).Value 显示第一个记录值。即使我通过“直到...循环”检查 msgbox 或调试窗口中的所有记录都完美显示。问题是它没有显示或工作记录计数属性。