我的存储过程内容如下
create procedure prTest
as
select * from tbtest1
........
........
select * from tbtest2我通过vc调用,返回多个结果集,我需要取得所有结果集,程序要怎么调用才能取得所有结果集?
create procedure prTest
as
select * from tbtest1
........
........
select * from tbtest2我通过vc调用,返回多个结果集,我需要取得所有结果集,程序要怎么调用才能取得所有结果集?
然后返回数组首个元素的地址
然后通过这个来访问数组中每个元素
_RecordsetPtr pp[5]然后
pp[0]->open(……)
pp[1]->open(……)
………………pp[5]->open(……)
然后return pp;然后在使用的地方
_RecordsetPtr * ppp = 返回值然后
ppp[0]
ppp[1]
………………不过这里 pp不能是函数的局部变量
因为是函数的局部变量的话,函数返回,相对应的栈清空了那个返回的指针就无效了
这个要注意一下
_RecordsetPtr rs;
...
连接数据库,调用存储过程,处理完一个结果集,然后:
long lngRec = 0;
while(rs)
{
rs = rs->NextRecordset((VARIANT *)lngRec);
if(rs)
//已得到下一个结果集,继续处理
...
}
...
连接数据库,调用存储过程,处理完一个结果集,然后:
long lngRec = 0;
while(rs)
{
rs = rs->NextRecordset((VARIANT *)lngRec);//////////这里要怎么改??????
if(rs)
//已得到下一个结果集,继续处理
...
}
///////////////////////////////
asset rowcount 3select * into #send from SMCBQueue where flag = @flag update SMCBQueue set flag = SMCBQueue.flag + 100,loops = SMCBQueue.loops + 1 from #send where SMCBQueue.ID = #send.IDset rowcount 0select * from #senddrop table #send
GO我的存储过程就是这么简单,就是想回
select * from #send
得到的记录集就是是得不到啊,是不是要调用_RecordsetPtr的NextRecordset方法,
还是用到了临时表,根本就回不了记录集啊,
我忙了几天搞这个就是搞不出来,我想得到这个存储过程的记录集要怎么做才好啊,
在VC程序中对于上面的存储过程调用完后,再对m_pRecordset进行处理时就发生异常,
try
{
if(!(m_pRecordset->adoEOF))
{
while(!m_pRecordset->adoEOF)
{
}
}
}
catch(...)
{
}在这里if(!(m_pRecordset->adoEOF))
就进去不了,到CATCH处了,
是怎么回事,那里出错了,
把这一条去掉试试