【发布时间】:2015-05-07 18:44:10
【问题描述】:
我正在尝试使用以下代码将数据从 SQL Server 表中获取到 ADO 记录集中。一切正常,没有错误,但我总是得到-1的记录数。我已经确认数据库名称和表是正确的。如果我使用 SSMS,我可以看到表中有数据。
我在这里错过了什么?
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rsCount As Integer
cn.ConnectionString = "Provider=SQLNCLI11;Server=Server1;DataBase=Database1;Trusted_Connection=yes;"
cn.Open
Call rs.Open("Select * from table1", cn, adOpenDynamic, adLockOptimistic)
rsCount = rs.RecordCount
【问题讨论】:
-
将
-1作为返回值表示某些东西不起作用... -
将
adOpenDynamic替换为adOpenStatic,让我知道发生了什么。 -
我从来没有以
Call开头——那可能是在扔东西。 -
@MaciejLos adOpenStatic 是赢家!!!非常感谢您的帮助!!
-
@jradich1234,我很高兴能帮上忙。请接受我的回答作为解决方案;)
标签: sql-server vba excel ado recordset