sql – Rowset不支持向后滚动

我试图用以下代码查询MysqL数据库
'declare the variables 
Dim Connection
Dim Recordset
Dim sql

'declare the sql statement that will query the database
sql = "SELECT * FROM CUSIP"

'create an instance of the ADO connection and recordset objects
Set Connection = CreateObject("ADODB.Connection")
Set Recordset = CreateObject("ADODB.Recordset")

'open the connection to the database
Connection.Open "DSN=CCS_DSN;UID=root;PWD=password;Database=CCS"

Recordset.CursorType=adOpenDynamic

'Open the recordset object executing the sql statement and return records 

Recordset.Open sql,Connection
Recordset.MoveFirst

If Recordset.Find ("CUSIP_NAME='somevalue'") Then
    MsgBox "Found"
Else
    MsgBox "Not Found"
End If


'close the connection and recordset objects to free up resources
Recordset.Close
Set Recordset=nothing
Connection.Close
Set Connection=nothing

每当我执行上面的操作时,我得到一个错误’rowset不支持向后滚动’,有什么建议吗?

解决方法

adOpenDynamic未在VBScript中声明,因此等于Empty,在分配CursorType属性时会转换为0.
0是adOpenForwardOnly,而forward只支持向后移动,这是Find方法想要的一种能力.

您应该将adOpenDynamic替换为其文字值:

Recordset.CursorType = 2 'adOpenDynamic

要完全避免这类错误,请将Option Explicit作为脚本的第一行.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...