好贷网好贷款

ADO 调用包含 表变量 的 存储过程 时出错,内详,含表结构、存储过程及VC代码 20CSDN]

发布时间:2016-12-4 12:03:13 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"ADO 调用包含 表变量 的 存储过程 时出错,内详,含表结构、存储过程及VC代码 20CSDN]",主要涉及到ADO 调用包含 表变量 的 存储过程 时出错,内详,含表结构、存储过程及VC代码 20CSDN]方面的内容,对于ADO 调用包含 表变量 的 存储过程 时出错,内详,含表结构、存储过程及VC代码 20CSDN]感兴趣的同学可以参考一下。

======================== table_test表的结构如下: IDx int aaa nvarchar(50) bbb nvarchar(50) 表中数据如下: IDx aaa bbb 1 a1 b1 2 a2 b2 ======================== 存储过程如下: @ID1 int = 1, @ID2 int = 2  AS BEGIN declare @select1 table (a nvarchar(50),b nvarchar(50) ); insert into @select1(a,b) select aaa,bbb from cletgem_test; select * from @select1; END ============================== ADO调用这个存储过程的代码如下: inline void TESTHR(HRESULT x) { if FAILED(x) _com_issue_error(x);} _RecordsetPtr pRst = NULL; _CommandPtr pCmd = NULL; _ParameterPtr pPrm1 = NULL; _ParameterPtr pPrm2 = NULL; _ConnectionPtr pConn = NULL; HRESULT hr = S_OK; VARIANT vtID1; VARIANT vtID2; vtID1.vt = VT_I4; vtID2.vt = VT_I4; vtID1.lVal = 1; vtID2.lVal = 2; //通过udl文件文件连接数据库 CString strConnect = _T("File Name="); strConnect += mdbName; try { TESTHR(pConn.CreateInstance(__uuidof(Connection))); hr = pConn->Open(_bstr_t(LPCTSTR(strConnect)), "", "", adConnectUnspecified); pConn->CursorLocation = adUseClient; TESTHR(pCmd.CreateInstance(__uuidof(Command))); pCmd->CommandText = strProc; pCmd->CommandType = adCmdStoredProc; pPrm1 = pCmd->CreateParameter("@ID1",adInteger,adParamInput,sizeof(long),vtID1); pPrm2 = pCmd->CreateParameter("@ID2",adInteger,adParamInput,sizeof(long),vtID2); pCmd->Parameters->Append(pPrm1); pCmd->Parameters->Append(pPrm2); pPrm1->Value = vtID1; pPrm2->Value = vtID2; pCmd->ActiveConnection = pConn; //错误发生处 pRst = pCmd->Execute(NULL,NULL,adCmdStoredProc); pRst->MoveFirst(); return TRUE; } catch(_com_error &e) { _bstr_t bstrSource(e.Source()); _bstr_t bstrDescritpion(e.Description()); return FALSE; } } ================================================================= 问题: 当调用不含表变量的存储过程时,这段代码工作能够将结果取出,但是,当存储过程中包含表变量(比如上示)时,就不正常了 ================================================================= 为什么呢?怎么办呢?项目被这个问题卡住,咳不出来又咽不下去,快憋死了

好多贴

感谢各位老师同学们热心的帮助,该问题的讨论主要集中在下贴中进行,欢迎前往指教 http://community.csdn.net/Expert/topic/5223/5223770.xml?temp=.2376215

午饭前一顶

开始 set nocount on   /*s q l*/   set nocount off  一下 结束

上一篇:sql2005express中ReportingServices如何使用? 100tom385]
下一篇:我不小心在企业管理器把数据库删除了..怎么办啊????救命啊!!!在线等待....拿位高手在啊!!1 0CSDN]

相关文章

相关评论