记录集计数始终返回-1

时间:2015-05-21 03:34:52

标签: excel vba excel-vba adodb recordset

我的代码就像这样

rst.CursorLocation = adUseClient
Set rst = MySQLConn.Execute("SELECT * FROM " & viewName & ";")
MsgBox rst.RecordCount

我想知道记录集中的记录数,但记录计数总是返回-1。我将如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要使用静态游标。为此,您需要显式创建RecordSet对象,如下所示:

Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = adUseClient
objRS.Open "SELECT * FROM " & viewName & ";", objConn, adOpenStatic,adLockReadOnly, adCmdText

隐式创建的RecordSet有服务器端游标,导致返回-1。

了解更多信息:http://www.adopenstatic.com/faq/recordcounterror.asp