रोसेट पीछे स्क्रॉलिंग का समर्थन नहीं करता है - एसक्यूएल, vbscript, recordet, 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

जब भी मैं ऊपर निष्पादित करता हूं मुझे एक त्रुटि मिलती है "पंक्तियां स्क्रॉल करने का समर्थन नहीं करती हैं", कोई सुझाव?

उत्तर:

उत्तर № 1 के लिए 6

adOpenDynamic VBScript में घोषित नहीं किया गया है और इसलिए बराबर है Empty, जो परिवर्तित हो जाता है 0 जब आप असाइन करते हैं CursorType संपत्ति।
0 है adOpenForwardOnly, और आगे केवल पीछे की ओर बढ़ने का समर्थन नहीं करता, एक क्षमता Find विधि चाहता है।

आपको प्रतिस्थापित करना चाहिए adOpenDynamic इसके शाब्दिक मूल्य के साथ:

Recordset.CursorType = 2 "adOpenDynamic

त्रुटियों के इस वर्ग से पूरी तरह से बचने के लिए, जगह Option Explicit आपकी स्क्रिप्ट की पहली पंक्ति के रूप में।


जवाब के लिए 0 № 2

ऐसा इसलिए है क्योंकि रोसेट पिछड़े कदमों की अनुमति नहीं देता है; जैसा कि त्रुटि संदेश से पता चलता है। आपका कोड उनका उपयोग नहीं कर रहा है; इसलिए आपको लाइन बदलनी चाहिए

Recordset.CursorType = adOpenDynamic साथ में Recordet.CursorType = adOpenForwardOnly (या समकक्ष मान 0)

पूरी तरह से बेहतर लाइन छोड़ दें; डिफ़ॉल्ट फॉरवर्ड कर्सर है।


संबंधित सवाल
सबसे लोकप्रिय