【发布时间】:2022-06-15 09:38:15
【问题描述】:
下面是我的代码,用作输出参数的retCSNum的值没有改变。SQLExecDirect函数执行成功。
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
【问题讨论】:
-
查看主页上的 mysql 示例以获取准备好的语句dev.mysql.com/doc/connector-cpp/1.1/en/…