OCI调用存储过程:
std::string sql_proc = "BEGIN com_bos.getmembers(:out_result); END;";
OCIStmt* pStmt = NULL;
OCIStmt* pCur = NULL;
sb2* pIndicator0 = 0;
sb2* pIndicator1 = 0;
sb2* pIndicator2 = 0;
sb2* pIndicator3 = 0;
sb2* pIndicator4 = 0;
sb2* pIndicator5 = 0;
sb2 pIndicator6 = -1; //这是一个指示器变量,就是这个表的这一列可以为NULL值,为了保证调用不返回错,这个地方赋值-1;
OCIBind* pBind = NULL;
OCIDefine* pOciDefine1 = NULL;
OCIDefine* pOciDefine2 = NULL;
OCIDefine* pOciDefine3 = NULL;
OCIDefine* pOciDefine4 = NULL;
OCIDefine* pOciDefine5 = NULL;
OCIDefine* pOciDefine6 = NULL;
std::string strMemberNo;
std::string strCompany;
std::string strName;
std::string strAddress;
std::string strPhone;
std::string strWebsite;
strMemberNo.resize(10);
strCompany.resize(200);
strName.resize(100);
strAddress.resize(1000);
strPhone.resize(100);
strWebsite.resize(1000);
do
{
if ( CheckError(OCIHandleAlloc(m_pEnvHandle,(dvoid**)&pStmt,OCI_HTYPE_STMT,0,NULL)))
{
break;
}