为什么我的RecordCount总是-1?

时间:2015-03-04 17:18:08

标签: asp-classic

我想运行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?

1 个答案:

答案 0 :(得分:0)

尝试将光标类型更改为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)