ADO如何取得存储过程中最后一步的返回结果?
CREATE PROC DB_bAs
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 , 数据库(包含打印,安装,报表)