在SQL中写了个存储过程,在VS2005中实现绑定,绑定的类型没错的,但是,在执行的时候老是提示参数类型错误???
原来是pFX->SetFieldType(CFieldExchange::outputParam);和pFX->SetFieldType(CFieldExchange::inputParam);的位置不能错位的,,输出参数在前,输入参数在后。
pFX->SetFieldType(CFieldExchange::outputParam);//绑定1个输出为返回值的参数
RFX_Long(pFX, _T("@return_value"), m_lReturnValue);pFX->SetFieldType(CFieldExchange::inputParam);
RFX_Text(pFX, _T("[@instrumentid]"), m_InstrumentID);
RFX_Long(pFX, _T("[@querymode]"), m_queryMode);
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[SZMAXENDSCPID]"), m_szMaxendscpID);
RFX_Long(pFX, _T("[MAXENDSCPID]"), m_MaxendscpID);

本文解决了一个关于SQL存储过程中参数绑定顺序的问题。指出在使用CFieldExchange进行参数绑定时,输出参数必须先于输入参数绑定,否则会引发参数类型错误。
5338

被折叠的 条评论
为什么被折叠?



