_CommandPtr pCommand=NULL;
     _ParameterPtr pPara=NULL;
     hr=pCommand.CreateInstance(__uuidof(Command));
 if (FAILED(hr))
         _com_issue_error(hr);
     pCommand->CommandType=adCmdStoredProc;
     pCommand->CommandText="p_data_tailor";
 pPara=pCommand->CreateParameter(_bstr_t("industry"),\
      (enum DataTypeEnum)cVal,\
      (enum ParameterDirectionEnum)adParamInput,\
      20,industry);
。。
我的存储过程是:
CREATE PROCEDURE dbo.p_data_tailor  @industry nvarchar(20),@id_code nvarchar(20),@mobile nvarchar(20) as
顺便祝各位新年好!!!!!!

解决方案 »

  1.   

    给你一个例子:_CommandPtr cmd;
    cmd.CreateInstance("ADODB.Command");
    //id号
    _ParameterPtr pParamRk;
    pParamRk.CreateInstance("ADODB.Parameter");
    pParamRk->Name="job_id"; //存储过程的参数1
    pParamRk->Type=adInteger; //整型
    pParamRk->Size=2; //
    pParamRk->Direction=adParamInput;//表明是输入参数
    CString tstr;
    tstr.Format("%d",id);
    pParamRk->Value=_variant_t(tstr);//int->CString->_variant_t后赋值
    cmd->Parameters->Append(pParamRk);
    //返回值
    _ParameterPtr pParamOk;
    pParamOk.CreateInstance("ADODB.Parameter");
    pParamOk->Name="desc"; //参数2名称
    pParamOk->Type=adChar; //字符串
    pParamOk->Size=20; //大小为20个字节
    pParamOk->Direction=adParamOutput; //声明是输出参数
    cmd->Parameters->Append(pParamOk);
    //_variant_t TheValue = MySet->GetCollect("FIELD_1");  
    //CString sValue=(char*)_bstr_t(TheValue);  cmd->ActiveConnection = piConnection;
    cmd->CommandText="test"; //存储过程的名字
    cmd->CommandType=adCmdStoredProc;//表示为存储过程adCmdStoredProc
        //执行,获得结果
        cmd->Execute(NULL, NULL, adCmdStoredProc);
        //将值返回
    return (char*)_bstr_t(pParamOk->Value);