ADOStoredProc中用execproc执行存储过程后,是否能得到返回的结果记录集?这个问题有点奇怪..进来瞧瞧 (100分)

  • 主题发起人 主题发起人 leisure
  • 开始时间 开始时间
L

leisure

Unregistered / Unconfirmed
GUEST, unregistred user!
CREATE PROCEDURE TEST
(
@value char(1)
)
AS

declare @A CHAR(1)
...........
IF @A ='1'
beign
select @value ='1'
return
end;
select * from #t
GO
----------------
就以这个简单的存储过程为例..

======
你们肯定奇怪我为什么不用open返回一结果集吧..
问题是这样的:

我在存储过程中:
先得到一个值,若些值为1直接返回.
若该值为0,则建立临时表等操做,并返回些临时表的数据..

所以不能用open,因为可能没有结果集返回.

我想用execproc................................

可是它是不是不返结果集...?

听明白我的意思了吗??????
 
啊。。。大伙都不吭声了。。
 
呵....旧分利用...

大伙说句话吧..
 
应该可以,我已前就做过
要不改ADOQUERY试一试
 
CREATE PROCEDURE TEST(@value char(1))
AS
declare @A CHAR(1)
...........
IF @A ='1'
beign
select @value ='1'
end
else
begin
select * from #t
end

执行的时候,你用open看看,我的都可以,你的不行?
 
to lgxyy:
存储过程复杂又长..不想用adoquery,想想如何解决...

to Herb:
不能用open,因为有可能不返回结果集,这时会出错...
 
方法是有的: 可能不是很满意了:
一种方法是: 把这个存储过程拆成两个,
第一个是返回一个标志,第二个则是
返回表的记录,根据第一个标准决定是否
执行第二个过程;
另外是在第一种情况返回一条固定记录
程序自己取舍返回记录是否可用....
 
我直接改成这样了..:
try
open
except
//执行<1>
exit;
end;

//执行<2>......

 
后退
顶部