Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
What does CA closes alias cursor after executing?
Message
From
28/01/2005 03:21:23
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
What does CA closes alias cursor after executing?
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows 2000 SP3
Network:
Windows 2000 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
00981617
Message ID:
00981617
Views:
60
I am using CA with ADO to access data on a SQL server database. I have a method on a form that calls links to the database and retreieves the data. I can see the alias created while the code is executing in the method. However, the minute the method terminates the cursor is gone. How can I prevent the cursor from closing once the method has terminated so that it is available through out the form like any other table or cursor.

I have used the following code to create my cursor:
LOCAL loConn AS ADODB.CONNECTION, ;
loCommand AS ADODB.COMMAND, ;
loException AS EXCEPTION, ;
loCursor AS CURSORADAPTER, ;
laErrors[1]

SET MULTILOCKS ON

lcFile = "FILE NAME=" + "my.udl"
loConn = NEWOBJECT("adodb.connection")
oRecordSet = NEWOBJECT("adodb.recordset")
loCursor = CREATEOBJECT('CURSORADAPTER')
loCommand = CREATEOBJECT('ADODB.COMMAND')

lcStoreProc = "Get_cust_1"
loConn.open(lcFile)
oRecordSet.cursortype = 3
oRecordSet.LockType = 2
WITH loCommand
.activeconnection = loConn
.commandtext = lcStoreProc
.commandtype = 4
.parameters("@cl_cltype").value = ltCustType
.parameters("@cl_language").value = ltLang
ENDWITH

oRecordSet = loCommand.Execute

WITH loCursor
.ALIAS = 'client'
.DATASOURCETYPE = 'ADO'
.DATASOURCE = oRecordSet
.SELECTCMD = lcStoreProc

IF .CURSORFILL (.F., .F., 0, oRecordSet)
SELECT client

ELSE
AERROR(laErrors)
MESSAGEBOX(laErrors[2])
RETURN .F.
ENDIF
loCommand.ActiveConnection = loConn
ENDWITH

The cursor client is the cursor that terminates when the method is complete.

Thanks in advance
Stuart Reid

True nobility lies not in being superior to another man, but in being superior to one’s previous self
Next
Reply
Map
View

Click here to load this message in the networking platform