我的数据库中的字段:userid varchar(6),carid varid varchar(20)
现在我要把userid做为输入参数,carid做为输出参数。
存储过程是
CREATE PROCEDURE mytestproc
@inUserID varchar(6)=null,
@outCarID varchar(20) output
AS
select @outCarID=CarID from note where UserID=@inUserID
GO
而且存储过程已经确认是正确的。我在VC使用ADO调用,我应该怎么写?
我的程序是这样的:
::GetWindowText(GetDlgItem(IDC_COMBO1),szUserID,sizeof(szUserID));
   
    _variant_t vNULL;
    vNULL.vt = VT_ERROR;
    vNULL.scode = DISP_E_PARAMNOTFOUND;    m_pCommand.CreateInstance("ADODB.Command");    m_pCommand->ActiveConnection = m_pConnection;///    m_pCommand->CommandText = _bstr_t("mytestproc");
    m_pCommand->CommandType      = adCmdStoredProc;
    try
    {
    m_pin = m_pCommand->CreateParameter("inUserID",
                 adVarChar,adParamInput,6,_variant_t(inUserID));
          m_pCommand->Parameters->Append(m_pin);//出错!!!!
          m_pout = m_pCommand->CreateParameter(_bstr_t("outCarID"), 
                         adVarChar,adParamOutput,6);
          m_pCommand->Parameters->Append(m_pout);
    }
    catch(_com_error &error)
    {
        MessageBox(error.Description());
    }
有错误,错误为:数据类型不匹配。为什么?我应该怎么写?