当前位置:编程学习 > VB >>

ADO如何取得存储过程中最后一步的返回结果?

CREATE PROC   DB_b 
As
declare @sql nvarchar(100)
set @sql=' select ''A1'' Note  into #tbl '
set @sql= @sql+'  select * from #tbl'
exec  sp_executesql  @sql 
go 
--以上存储过程执行正常
--在查询分析器中执行以下正常
db_b
Note
A1
--但在vb的调用中则出错,具体如下:
'ado查询   sql2k存储过程示例   
  Set   xx   =   CreateObject("adodb.connection")     '创建一个ado对象     ok   
  xx.Open   connectiomstring     '建立连接,connectiomstring已事先定义无误     ok   
  Set   yy   =   xx.Execute("master..db_b")   'db_b   是在sql2k中已创建好的一个存储过程,   
                                              '且在查询分析器中单独运行,结果返回一个表   ok   
  if   yy.eof   then       '   程序运行到这里就出提,提示对象已关闭...         
      ....   
  enf   if   
    
  请问是什么原因呢? 如何在ado中取得存储过程中的最后一个返回结果? --------------------编程问答-------------------- 试着加入nocount参数控制,仍然不行。更简单的测试办法就是使用dts将 db_b导出为excel,一直提示 字段错误,分明是只取得了第一个结果集。

CREATE PROC   DB_b 
As
set nocount off
declare @sql nvarchar(100)
set @sql=' select ''A1'' Note  into #tbl '
set @sql= @sql+' set nocount on  select * from #tbl'
exec  sp_executesql  @sql 
go 
--------------------编程问答-------------------- 哪位高手指点一下,急等。
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,