为什么我的 RecordCount 总是 -1?
Why is my RecordCount always -1?
我想 运行 一个 SQL 查询来查看数据库中是否已经存在某个 ID 的数据。
我用 this answer 实现了。
但是没用。数据库确实有行,当我 运行 确切的 SQL 查询时,它显示了几个结果。但是 RecordCount
似乎总是 -1
。甚至在下面的 IF
子句中也不承认这一点。这是我的代码:
sqlCommand2 = "SELECT * FROM database " &_
"WHERE row = 'whatever';"
SET objRS2 = objConn.Execute(sqlCommand2)
Wscript.Echo "RecordCount: " & objRS2.RecordCount 'ALWAYS returns -1
IF objRS2.RecordCount > 0 THEN
为什么 RecordCount 总是设置为 -1?
尝试将光标类型更改为 adOpenStatic。您可以使用下面的功能。
*请注意,您需要在下方包含您的连接字符串。
Function RS(strSQL)
Dim oConn, oRs
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.CommandTimeout = 1800
oConn.Open("[ConnectionStringValueGoesHere]")
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.CursorLocation = 3
oRS.Open strSQL, oConn, 3, 4
oRS.ActiveConnection = Nothing
oConn.Close
Set oConn = Nothing
Set executeSQLreturnRS = oRs
End Function
因此更改此行:
SET objRS2 = objConn.Execute(sqlCommand2)
收件人:
SET objRS2 = RS(sqlCommand2)
我想 运行 一个 SQL 查询来查看数据库中是否已经存在某个 ID 的数据。
我用 this answer 实现了。
但是没用。数据库确实有行,当我 运行 确切的 SQL 查询时,它显示了几个结果。但是 RecordCount
似乎总是 -1
。甚至在下面的 IF
子句中也不承认这一点。这是我的代码:
sqlCommand2 = "SELECT * FROM database " &_
"WHERE row = 'whatever';"
SET objRS2 = objConn.Execute(sqlCommand2)
Wscript.Echo "RecordCount: " & objRS2.RecordCount 'ALWAYS returns -1
IF objRS2.RecordCount > 0 THEN
为什么 RecordCount 总是设置为 -1?
尝试将光标类型更改为 adOpenStatic。您可以使用下面的功能。
*请注意,您需要在下方包含您的连接字符串。
Function RS(strSQL)
Dim oConn, oRs
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.CommandTimeout = 1800
oConn.Open("[ConnectionStringValueGoesHere]")
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.CursorLocation = 3
oRS.Open strSQL, oConn, 3, 4
oRS.ActiveConnection = Nothing
oConn.Close
Set oConn = Nothing
Set executeSQLreturnRS = oRs
End Function
因此更改此行:
SET objRS2 = objConn.Execute(sqlCommand2)
收件人:
SET objRS2 = RS(sqlCommand2)