如何在SQLExecDirect中执行参数化存储过程

时间:2012-08-17 07:31:09

标签: sql sqlapi++

我想使用SQLExecDirect()执行存储过程。

所以我使用SQLBindParameter()设置输入参数。我也使用SQL_PARAM_OUTPUT来绑定输出参数。

但是在执行查询后,我得到了SQL_ERROR。这是代码。

SQLBindParameter(hStmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, 
                                         SQL_CHAR , 40, 0, name, sizeof(name) ,
                                         SQL_NULL_HANDLE);

SQLBindParameter(hStmt, 2, SQL_PARAM_OUTPUT, SQL_C_CHAR, 
                                         SQL_CHAR , 40, 0, userSID, sizeof(userSID) ,
                                         SQL_NULL_HANDLE);

r = SQLExecDirect(hStmt, "{ call Stored_procedure(?,?)}", SQL_NTS) ;

Stored_procedure将获取1个输入参数并返回1个输出参数,它也会返回输出。

我能够执行此存储过程。但是我无法在存储过程中获取输出参数的值。

0 个答案:

没有答案