varchar
出力パラメータを持つストアド プロシージャがあります。
@UserIDOut varchar(50) OUTPUT
私のC++コードでは、出力パラメータをこれにバインドしようとしています:
...
SQLCHAR userIDOut[50];
int dbReturn = ExecProc(...(SQLCHAR**)&userIDOut);
...
int ExecProc(...SQLCHAR **userIDOut)
{
...
SQLINTEGER cbParam7 = SQL_NTS;
retcode = SQLBindParameter(hstmt1, 7, SQL_PARAM_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, 50, 0, *userIDOut, 50, &cbParam7);
retcode = SQLExecDirect(hstmt1, (UCHAR*)"{? = call UpdateUser(?,?,?,?,?,?)}", SQL_NTS);
他にもいくつかの入力パラメーターと、このストアド プロシージャからの戻り値があります。この関数呼び出しでいくつかのバリエーションを試しましたが、何も得られませんuserIDOut
。SQL Server からストアド プロシージャを実行すると、適切な出力が得られます。
何かご意見は?