Subject Re: [firebird-support] firebird 1.5 rc3 .NET 1.1 - return from stored procedures
Author Helen Borrie
At 12:11 AM 27/06/2003 +0000, you wrote:
>Can anyone please let me how to execute a procedure with return
>values and capture the return values in the front-end (VB.NET).
>If these are the procedures -
>1. test()
>2. test1(input_param1,input_param2)
>3. test2() -> returns i integer
>I can call procedures 1 and 2 directly from vb.NET
>with "".executenonquery"" and passing it a command text "execute
>procedure test()" or "execute procedure test1()"
>But how can I catch the return of test2()
>It gives me and error - message length error, expected 8, encountered
>Any help would be appreciated.

Firebird has two kinds of stored procedures "selectable" and
"executable". If you have a SP like 1. and 2., they are "executable". If
you want to receive output values from a SP, you select its output
parameters and get a resultset back as you do with a dynamic table select.

If the SP is not of the FOR SELECT...DO...SUSPEND type, but returns only a
single row of output, then you can read the output parameters from the
structure that is returned to the API. I think you would need to use the
Firebird .NET driver to do this.

But select i from test2(<input-list>) will work fine.