Hi,
I am using ADO to access SQL server stored procedures. I can access these procedures and send parameters to them, but how do I assign the returned record set to the CA? I want to be able to navigate through the record set and use the returned values with textboxes,grids etc.
Here is my code I use:
LOCAL loConn AS ADODB.CONNECTION, ;
loCommand AS ADODB.COMMAND, ;
loException AS EXCEPTION, ;
loCursor AS CURSORADAPTER, ;
laErrors[1]
SET MULTILOCKS ON
lcFile = "FILE NAME=" + "devccdb.udl"
loConn = NEWOBJECT("adodb.connection")
oRecordSet = NEWOBJECT("adodb.recordset")
loCursor = CREATEOBJECT('CURSORADAPTER')
loCommand = CREATEOBJECT('ADODB.COMMAND')
loConn.open(lcFile)
oRecordSet.cursortype = 3
oRecordSet.LockType = 2
WITH loCommand
.activeconnection = loConn
.commandtext = "select_bkclaman_1"
.commandtype = 4
.parameters("@am_code").value = ""
.parameters("@am_desc").value = ""
ENDWITH
oRecordSet = loCommand.Execute
? orecordset.fields("am_code").value
? orecordset.fields("am_desc").value
orecordset.movenext()
I have descovered I can move forward with movenext but how do I move back,go to the beginning and go to end.
How can I assign the returned record set to the cursor adaptor.
When I add this code. I get and error that the connection that the "ADODB record set already open"
WITH loCursor
.ALIAS = 'bkclaman'
.DATASOURCETYPE = 'ADO'
.DATASOURCE = oRecordSet
.SELECTCMD = 'select_bkclaman_1'
.DATASOURCE.ACTIVECONNECTION = loConn
loCommand.ActiveConnection = loConn
IF .CURSORFILL (.F., .F., 0, loCommand)
browse
ELSE
AERROR(laErrors)
MESSAGEBOX(laErrors[2])
ENDIF
loCommand.ActiveConnection = loConn
? .cursorstatus
WAIT WINDOW
Thanks in advance
I am using ADO to access SQL server stored procedures. I can access these procedures and send parameters to them, but how do I assign the returned record set to the CA? I want to be able to navigate through the record set and use the returned values with textboxes,grids etc.
Here is my code I use:
LOCAL loConn AS ADODB.CONNECTION, ;
loCommand AS ADODB.COMMAND, ;
loException AS EXCEPTION, ;
loCursor AS CURSORADAPTER, ;
laErrors[1]
SET MULTILOCKS ON
lcFile = "FILE NAME=" + "devccdb.udl"
loConn = NEWOBJECT("adodb.connection")
oRecordSet = NEWOBJECT("adodb.recordset")
loCursor = CREATEOBJECT('CURSORADAPTER')
loCommand = CREATEOBJECT('ADODB.COMMAND')
loConn.open(lcFile)
oRecordSet.cursortype = 3
oRecordSet.LockType = 2
WITH loCommand
.activeconnection = loConn
.commandtext = "select_bkclaman_1"
.commandtype = 4
.parameters("@am_code").value = ""
.parameters("@am_desc").value = ""
ENDWITH
oRecordSet = loCommand.Execute
? orecordset.fields("am_code").value
? orecordset.fields("am_desc").value
orecordset.movenext()
I have descovered I can move forward with movenext but how do I move back,go to the beginning and go to end.
How can I assign the returned record set to the cursor adaptor.
When I add this code. I get and error that the connection that the "ADODB record set already open"
WITH loCursor
.ALIAS = 'bkclaman'
.DATASOURCETYPE = 'ADO'
.DATASOURCE = oRecordSet
.SELECTCMD = 'select_bkclaman_1'
.DATASOURCE.ACTIVECONNECTION = loConn
loCommand.ActiveConnection = loConn
IF .CURSORFILL (.F., .F., 0, loCommand)
browse
ELSE
AERROR(laErrors)
MESSAGEBOX(laErrors[2])
ENDIF
loCommand.ActiveConnection = loConn
? .cursorstatus
WAIT WINDOW
Thanks in advance