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