在ODBC中调用MySQL中的存储过程。执行结果中存储过程的OUT参数无效
以下是我的代码,使用用作输出参数的retcsnum的值未更改。SQLEXECTIRECT函数已成功执行。
cout << "-------" << "Execute Procedures:" << "-------" << endl;
SQLCloseCursor(hStmt);
if (ret == SQL_SUCCESS)
cout << "API Successfully!" << endl;
SQLCHAR countDep[SDepart_Len]= "CS";
SQLLEN countDepInd =SQL_NTS;
SQLLEN retCSNum = 0,retCSNumInd = SQL_IS_INTEGER;
ret = SQLBindParameter(hStmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR,20,NULL,countDep,SDepart_Len*sizeof(char),&countDepInd);
if (ret == SQL_SUCCESS)
cout << "Bind Successfully!" << endl;
ret = SQLBindParameter(hStmt, 2, SQL_PARAM_OUTPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &retCSNum, sizeof(int), &retCSNumInd);
if (ret == SQL_SUCCESS)
cout << "Bind Successfully!" << endl;
ret = SQLExecDirect(hStmt, (SQLCHAR*)"{call CSNum(?,?)}", SQL_NTS);
SQLCHAR* state2 = new SQLCHAR[5];
cout << retCSNum << endl; // print 0
Below is my code, the value of retCSNum used as output parameter is not changed.The SQLExecDirect function is successfully executed.
cout << "-------" << "Execute Procedures:" << "-------" << endl;
SQLCloseCursor(hStmt);
if (ret == SQL_SUCCESS)
cout << "API Successfully!" << endl;
SQLCHAR countDep[SDepart_Len]= "CS";
SQLLEN countDepInd =SQL_NTS;
SQLLEN retCSNum = 0,retCSNumInd = SQL_IS_INTEGER;
ret = SQLBindParameter(hStmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR,20,NULL,countDep,SDepart_Len*sizeof(char),&countDepInd);
if (ret == SQL_SUCCESS)
cout << "Bind Successfully!" << endl;
ret = SQLBindParameter(hStmt, 2, SQL_PARAM_OUTPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &retCSNum, sizeof(int), &retCSNumInd);
if (ret == SQL_SUCCESS)
cout << "Bind Successfully!" << endl;
ret = SQLExecDirect(hStmt, (SQLCHAR*)"{call CSNum(?,?)}", SQL_NTS);
SQLCHAR* state2 = new SQLCHAR[5];
cout << retCSNum << endl; // print 0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已解决:
SOLVED: