首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

ADO调用存储过程 接收存储过程的返回值 这该如何做阿. 使用VC6.0

2012-04-07 
ADO调用存储过程 接收存储过程的返回值 这该怎么做阿. 使用VC6.0.ADO调用存储过程 接收存储过程的返回值

ADO调用存储过程 接收存储过程的返回值 这该怎么做阿. 使用VC6.0.
ADO调用存储过程 接收存储过程的返回值 这该怎么做阿. 使用VC6.0. 


[解决办法]
网上找的,试试看

C/C++ code
_CommandPtr cmmd;  HRESULT hr = cmmd.CreateInstance(__uuidof(Command));  if(FAILED(hr))  {  AfxMessageBox("NewNetDatabase()中创建_CommandPtr对象失败");  return 0;  }  _ParameterPtr param;  param = cmmd->CreateParameter(""/*NetType*/,adTinyInt, adParamInput,  sizeof(BYTE),(BYTE)(m_nNetType+1));  cmmd->Parameters->Append(param);  param = cmmd->CreateParameter(""/*Name*/,adVarChar, adParamInput,  m_strName.GetLength()+1, _variant_t(m_strName));  cmmd->Parameters->Append(param);  param = cmmd->CreateParameter(""/*Desp*/,adVarChar, adParamInput,  m_strDesp.GetLength()+1, _variant_t(m_strDesp));  cmmd->Parameters->Append(param);  param = cmmd->CreateParameter("NewNetID"/*NetID*/,adInteger, adParamOutput,  sizeof(long), (long)m_nNewNetID);//返回参数,返回新建的网络的ID  cmmd->Parameters->Append(param);  cmmd->CommandText=_bstr_t("GSDT_NewNet");//存储过程的名称  cmmd->ActiveConnection = m_pConPtr;//需要使用的ADO连接  cmmd->CommandType=adCmdStoredProc;  //注意下面的一行代码,如果你写成这样,就获得不了返回参数的值  //_RecordsetPtr rec = cmmd->Execute(NULL, NULL, adCmdStoredProc);  //我不知道这是为什么,但事实就是这样:)  cmmd->Execute(NULL, NULL, adCmdStoredProc);  m_nNewNetID=(long)cmmd->Parameters->GetItem("NewNetID")->GetValue();//通过参数返回值  cmmd.Detach(); 

热点排行
Bad Request.