我正在尝试使用以下代码查询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不支持向后滚动',有什么建议吗?
答案 0 :(得分:6)
adOpenDynamic
未在VBScript中声明,因此等于Empty
,当您分配0
属性时,CursorType
会转换为0
。
adOpenForwardOnly
为Find
,而且仅向前移动不支持向后移动,adOpenDynamic
方法需要的功能。
您应该将Recordset.CursorType = 2 'adOpenDynamic
替换为其文字值:
Option Explicit
要完全避免此类错误,请将{{1}}作为脚本的第一行。
答案 1 :(得分:0)
这是因为行集不允许向后移动;正如错误消息所示。你的代码没有使用它们;所以你应该替换
行Recordset.CursorType = adOpenDynamic 同 Recordset.CursorType = adOpenForwardOnly(或等效值0)
最好完全离开这条线;默认为前向光标。