Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Getting
Message
General information
Forum:
Visual FoxPro
Category:
Client/server
Title:
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01055622
Message ID:
01055652
Views:
10
Since you are returning a value from the RETURN statement, you need use a command object to execute, then check command.parameter(0).Value such as:
loConn = CREATEOBJECT('ADODB.Connection')
loConn.ConnectionString = GetConnString()
loCmd  = CREATEOBJECT('ADODB.Command')
loCmd.ActiveConnection = loConn
loCmd.CommandText = 'sp_test'
loCmd.Execute()

lvRetVal = loCmd.Parameters(0).Value
Hope this helps,
Kurt

>There is a stored procedure as simple as this:
>CREATE PROCEDURE sp_test AS
>RETURN 33
>GO
>
>I'm trying to get the return value from VFP using ADO:
>LOCAL loConn AS ADODB.Connection, lvRetVal
>CLEAR
>loConn = CREATEOBJECT("ADODB.Connection")
>loConn.ConnectionString = GetConnString()
>loConn.Open()
>
>* 1 - Execute
>lvRetVal = loConn.Execute("sp_Test")
>?VARTYPE(lvRetVal), lvRetVal &&Shows O (Object)
>
>* 2 - as a native method
>lvRetVal = loConn.sp_Test() &&Crashes
>?VARTYPE(lvRetVal), lvRetVal
>
>loConn.Close()
>
>First call returns an object and as I can see from debugger it's a recordset. How would I get the number SP actually returns?
>
>Second call is supposed to be working according to Microsoft. I'm getting an error:
>"OLE IDispatch exception code 0 from ADODB.Connection: Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another..."
>But there is no arguments. What does it want from me?
>
>Thanks
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform