怎么在VC中运用存储过程

hongweibin 2002-01-23 11:12:35
我最近在VC中运用存储过程
发现一个问题使我无法开发下出

ADODB::_ParameterPtr ptrParamI1,ptrParamI2,ptrParamI3;
ADODB::_ParameterPtr ptrParamO1,ptrParamO2,ptrParamO3,ptrParamO4;
ADODB::_ParameterPtr ptrParamO5,ptrParamO6,ptrParamO7,ptrParamO8;
ADODB::_ParameterPtr ptrParamO9,ptrParamO10,ptrParamO11,ptrParamO12;
ADODB::_ParameterPtr ptrParamO13,ptrParamO14,ptrParamO15,ptrParamO16;
VARIANT vtI1, vtI2, vtI3;
VARIANT vtO1, vtO2, vtO3,vtO4;
VARIANT vtO5, vtO6, vtO7,vtO8;
VARIANT vtO9, vtO10, vtO11,vtO12;
VARIANT vtO13, vtO14, vtO15,vtO16;
CString caller,called; //用来取传递进来的参数
try
{
bstr_t bstrTmp(caller);
vtI1.vt = VT_BSTR;
vtI1.bstrVal = bstrTmp;
ptrParamI1 = m_ptrCommand->CreateParameter("InputKh", adBSTR, adParamInput, strlen(caller), vtI1);
ptrParamI1->Value = vtI1;
m_ptrCommand->Parameters->Append(ptrParamI1);
ptrParamI1->Value = vtI1;

bstrTmp=called;
vtI2.vt = VT_BSTR;
vtI2.bstrVal = bstrTmp;
ptrParamI2 = m_ptrCommand->CreateParameter("strCalled", adBSTR, adParamInput, strlen(called), vtI2);
ptrParamI2->Value = vtI2;
m_ptrCommand->Parameters->Append(ptrParamI2);
ptrParamI2->Value = vtI2;

bstrTmp = tbName;
vtI3.vt = VT_BSTR;
vtI3.bstrVal = bstrTmp;
ptrParamI3 = m_ptrCommand->CreateParameter("strTbName", adBSTR, adParamInput, strlen(tbName), vtI3);
ptrParamI3->Value = vtI3;
m_ptrCommand->Parameters->Append(ptrParamI3);
ptrParamI3->Value = vtI3;

vtO1.vt = VT_R4;
ptrParamO1 = m_ptrCommand->CreateParameter("nAvailMon", adDouble, adParamOutput, 4, vtO1);
m_ptrCommand->Parameters->Append(ptrParamO1);

vtO2.vt = VT_I4;
ptrParamO2 = m_ptrCommand->CreateParameter("nCallOutLtd", adInteger, adParamOutput, 4, vtO2);
m_ptrCommand->Parameters->Append(ptrParamO2);

vtO3.vt = VT_BSTR;
ptrParamO3 = m_ptrCommand->CreateParameter("strUserType", adBSTR, adParamOutput, 1, vtO3); //执行到这一部报错????
m_ptrCommand->Parameters->Append(ptrParamO3);

vtO4.vt = VT_I4;
ptrParamO4 = m_ptrCommand->CreateParameter("nRetu", adInteger, adParamOutput, 4, vtO4);
m_ptrCommand->Parameters->Append(ptrParamO4);

vtO5.vt = VT_I4;
ptrParamO5 = m_ptrCommand->CreateParameter("startTime", adInteger, adParamOutput, 4, vtO5);
m_ptrCommand->Parameters->Append(ptrParamO5);

vtO6.vt = VT_I4;
ptrParamO6 = m_ptrCommand->CreateParameter("endTime", adInteger, adParamOutput, 4, vtO6);
m_ptrCommand->Parameters->Append(ptrParamO6);

vtO7.vt = VT_R4;
ptrParamO7 = m_ptrCommand->CreateParameter("yhRate", adDouble, adParamOutput, 4, vtO7);
m_ptrCommand->Parameters->Append(ptrParamO7);

vtO8.vt = VT_I4;
ptrParamO8 = m_ptrCommand->CreateParameter("startTime1", adInteger, adParamOutput, 4, vtO8);
m_ptrCommand->Parameters->Append(ptrParamO8);

vtO9.vt = VT_I4;
ptrParamO9 = m_ptrCommand->CreateParameter("endTime1", adInteger, adParamOutput, 4, vtO9);
m_ptrCommand->Parameters->Append(ptrParamO9);

vtO10.vt = VT_R4;
ptrParamO10 = m_ptrCommand->CreateParameter("yhRate1", adDouble, adParamOutput, 4, vtO10);
m_ptrCommand->Parameters->Append(ptrParamO10);

vtO11.vt = VT_I4;
ptrParamO11 = m_ptrCommand->CreateParameter("startTime2", adInteger, adParamOutput, 4, vtO11);
m_ptrCommand->Parameters->Append(ptrParamO11);

vtO12.vt = VT_I4;
ptrParamO12 = m_ptrCommand->CreateParameter("endTime2", adInteger, adParamOutput, 4, vtO12);
m_ptrCommand->Parameters->Append(ptrParamO12);

vtO13.vt = VT_R4;
ptrParamO13 = m_ptrCommand->CreateParameter("yhRate2", adDouble, adParamOutput, 4, vtO13);
m_ptrCommand->Parameters->Append(ptrParamO13);

vtO14.vt = VT_I4;
ptrParamO14 = m_ptrCommand->CreateParameter("startTime3", adInteger, adParamOutput, 4, vtO14);
m_ptrCommand->Parameters->Append(ptrParamO14);

vtO15.vt = VT_I4;
ptrParamO15 = m_ptrCommand->CreateParameter("endTime3", adInteger, adParamOutput, 4, vtO15);
m_ptrCommand->Parameters->Append(ptrParamO15);

vtO16.vt = VT_R4;
ptrParamO16 = m_ptrCommand->CreateParameter("yhRate3", adDouble, adParamOutput, 4, vtO16);
m_ptrCommand->Parameters->Append(ptrParamO16);

m_ptrCommand->CommandText = _T("IsLegualCust");
m_ptrCommand->CommandType = adCmdStoredProc;
m_ptrCommand->ActiveConnection = ptrConnection;
m_ptrCommand->Execute(NULL, NULL, adCmdStoredProc);

}

请高手帮忙----给高分
...全文
30 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,650

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧