用vs2010运行,vb.net访问excel,请问这里的rs.RecordCount为什么值总是-1,高手帮忙啊?
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim link As String
Dim i As Integer
link = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.xls;Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"
'link = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Environment.CurrentDirectory & "\test.xls;Extended Properties='Excel 8.0';HDR=YES;IMEX=1;Persist Security Info=False"
conn.Open(link)
rs.Open("select * from [sheet1$]", conn) 'adOpenStatic, adLockReadOnly, adCmdText
Debug.Print(" ")
Debug.Print("开始显示数据")
Do While Not rs.EOF()
For i = 0 To rs.Fields.Count - 1
Debug.Print(rs.Fields(i).Name)
Debug.Print(rs.Fields(i).Value)
Next
rs.MoveNext()
Loop
Debug.Print("字段数:" & rs.Fields.Count)
Debug.Print("记录数:" & rs.RecordCount)
Debug.Print("开始显示数据")
Debug.Print(" ")
rs.Close()
[解决办法]
原因是ADO无法确定记录数
或者是游标类型不支持recordCount