高分请教:ADO调用存储过程,参数传递顺序导致数据类型转换错误 m_DBCommand有Parameters集合,通过集合可以按照名称访问各个参数,为参数赋值,然后调用Execute 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 另外,Command对象的连接是连到sql数据库,应该可以指定已经在数据库的存储过程的名称,然后设置活动连接,这样,Command应该就可以自己加载参数,不需要CreateParameter,在VB中这样使用没有问题,但VC中,我没有试,你可以试试看 你的意思是直接通过对m_DBCommand有Parameters集合访问,进行赋值 是啊,赋值在VB可以直接使用等号,在VC应该使用接口函数 应该差不多是这样,你试试看void Test(){ _CommandPtr cmd; cmd.CreateInstance(__uuidof(Command)); cmd->PutCommandType(CommandTypeEnum::adCmdStoredProc); cmd->put_CommandText(_bstr_t("aProc")); cmd->PutActiveConnection(_variant_t(cnt)); TRACE("Param count:%d\n",cmd->Parameters->GetCount()); cmd->Parameters->Item[_bstr_t("pName")]->Value=_variant_t(theValue); _variant_t aff;... cmd->Execute(&aff,NULL,-1);} j加个语句:void Test(){ _CommandPtr cmd; cmd.CreateInstance(__uuidof(Command)); cmd->PutCommandType(CommandTypeEnum::adCmdStoredProc); cmd->put_CommandText(_bstr_t("aProc")); cmd->PutActiveConnection(_variant_t(cnt)); cmd->Parameters->Refresh(); TRACE("Param count:%d\n",cmd->Parameters->GetCount()); cmd->Parameters->Item[_bstr_t("pName")]->Value=_variant_t(theValue); _variant_t aff; ... cmd->Execute(&aff,NULL,-1);} VC2008视图乱了。。。帮看看 调试时提示“CheckTool.exe已触发了一个断点” mfc 中如何改变鼠标光标 什么情况下recv返回的数据长度同我用sniffer抓包的数据长度不一样 对话框中内嵌WORD的问题! 怎样关闭侦听端口? 如何动态控制拆分窗口得大小? 请问哪有能用的超星啊??? 小问题??? 如何使窗口的最大化按钮无效? 如何使用编辑框(Edit Box)中的字体变色 关于模态对话框的问题
void Test()
{
_CommandPtr cmd;
cmd.CreateInstance(__uuidof(Command));
cmd->PutCommandType(CommandTypeEnum::adCmdStoredProc);
cmd->put_CommandText(_bstr_t("aProc"));
cmd->PutActiveConnection(_variant_t(cnt));
TRACE("Param count:%d\n",cmd->Parameters->GetCount());
cmd->Parameters->Item[_bstr_t("pName")]->Value=_variant_t(theValue);
_variant_t aff;
...
cmd->Execute(&aff,NULL,-1);
}
{
_CommandPtr cmd;
cmd.CreateInstance(__uuidof(Command));
cmd->PutCommandType(CommandTypeEnum::adCmdStoredProc);
cmd->put_CommandText(_bstr_t("aProc"));
cmd->PutActiveConnection(_variant_t(cnt));
cmd->Parameters->Refresh(); TRACE("Param count:%d\n",cmd->Parameters->GetCount());
cmd->Parameters->Item[_bstr_t("pName")]->Value=_variant_t(theValue);
_variant_t aff;
...
cmd->Execute(&aff,NULL,-1);
}