Hello Albert
> -----Original Message-----
> From: Beermann, Albert [mailto:[EMAIL PROTECTED]
> Sent: Mittwoch, 16. November 2005 09:12
> To: [email protected]
> Subject: Problem with variable returned from dbproc
>
> Hello Everybody
>
> I work with odbc and a maxdb 7.5 database
>
[details snipped]
> From SQL-Studio everything works as expected:
> call dbproc_autonum('CUSTOMERS',:neuerwert) with commit
> shows out(1)
> 471118 = the next id
>
> In my application i do
> l_cmd = "call dbproc_autonum('CUSTOMERS',:neuerwert) with commit"
> =sqlexec(p_verbindungsnr,l_cmd)
> no error
>
> But what is the name of the returned variable in my
> application ???????
Use SQLBindParameter ([SQL_PARAM_INPUT_OUTPUT|SQL_PARAM_OUTPUT]):
Example: ODBC and following dbproc:
create dbproc test_proc (IN a int, INOUT b int, OUT s int) AS set s = a+b; set
b=4;
/* no error checking! */
sprintf( stmtStr, "{ CALL test_proc (?,?,?) }" );
retcode = SQLPrepare( hstmt, stmtStr, SQL_NTS );
retcode = SQLBindParameter( hstmt, 1, SQL_PARAM_INPUT,
SQL_C_LONG, SQL_INTEGER, 72, 0,
&a, sizeof(a), &len );
retcode = SQLBindParameter( hstmt, 2, SQL_PARAM_INPUT_OUTPUT,
SQL_C_LONG, SQL_INTEGER, 72, 0,
&b, sizeof(b), &len );
retcode = SQLBindParameter( hstmt, 3, SQL_PARAM_OUTPUT,
SQL_C_LONG, SQL_INTEGER, 72, 0,
&s, sizeof(s), &len );
a = 2;
retcode = SQLExecute( hstmt );
Now, b and s are changed according the dbproc.
HTH Thomas
----------------------------------------------
Dr. Thomas Kötter
SAP AG, Berlin
NW DT MaxDB
MaxDB: all you need!
www.mysql.com/products/maxdb www.sapdb.org
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]