一个怪问题,请教大家了!

syczx 2006-09-27 01:05:22

存贮过程:p_getyeji
此存存贮过程功能:通过递归算法,完成一个比较复杂的统计工作,结果存在一个临时表中,最后返回这个临时表的记录集。
在SQLserver查询分析器中测试,能正确地返回结果记录集。

前端VB调过代码如下:

Set conn = CreateObject("ADODB.Connection")
conn.Open mysetup.strconn
Set rs = CreateObject("ADODB.RecordSet")
sqlstr = "p_getyeji '100001','2006-9-01 00:00:01','2006-10-1 0:00:01',0"
set rs=conn.Execute (sqlstr)
If Not (rs.BOF And rs.EOF) Then
一些显示结果的代码
  end if

  运行到“If Not (rs.BOF And rs.EOF) Then”这一句时出错,提示rs未打开。

请问:
1.这是否意味着这里的存贮过程调用未返回记录集?
2.如何解决?

附存贮过源代码:

CREATE PROCEDURE p_getyeji @card_no char(20),@sdate datetime,@edate datetime,@isall int=0
AS
if isnull(@card_no,1)=1
begin
return(-1) /*输入卡号为空,返回-1*/
end

if isdate(@sdate)=0
begin
return(-2)
end

if isdate(@edate)=0
begin
return(-3)
end

delete from yejijisuan
delete from temp_buy_account
insert into temp_buy_account select * from buy_account where buy_date>=@sdate and buy_date<=@edate
execute p_yejijisuan @card_no,null,null,null,null
if @isall=1
begin
select * from yejijisuan
end
else
begin
select * from yejijisuan where card_no=@card_no
end
GO

说明:p_yejijisuan 也是一个存贮过程,用它实现递归算法,结果存入yejijisuan表中。






...全文
157 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
syczx 2006-09-27
  • 打赏
  • 举报
回复
问题解决了。
非常感谢!
zicxc 2006-09-27
  • 打赏
  • 举报
回复
存储过程
as
后加一句
set nocount on

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧