主题:  用UD写了一程序,碰到个问题~~


职务:普通成员
等级:1
金币:0.0
发贴:56
注册:2001/11/5 22:59:30
#12001/11/5 23:09:14
在存储过程里定义了一个输出变量,在UD里利用该存储过程得到了一个记录集,但输出变量却取不到,请问,这该怎么解决呢?望高手告之,不胜感激~



blshfw

职务:普通成员
等级:1
金币:1.0
发贴:241
注册:2001/5/15 16:44:13
#22001/11/6 11:11:02
很简单的,举个例子说明如下:
定义存储过程:
create procedure proc_abc
@outputstring char(255) output
as
set @outputstring="我是新手,以后请多多指教!"
select @outputstring
go
在执行部分:
declare @outputstring char(255)
declare @tmpstring char(255)
exec proc_abc @outputstring=@tmpstring output
select @tmpstring
结果应该显示:我是新手,以后请多多指教!
以上是我顺手写的,如有错漏,自己查书校正吧。




职务:普通成员
等级:1
金币:0.0
发贴:56
注册:2001/11/5 22:59:30
#32001/11/6 13:03:53
blshfw 你好!
declare @outputstring char(255)
declare @tmpstring char(255)
exec proc_abc @outputstring=@tmpstring output
select @tmpstring
在SQL语句里是这么写的,完全没问题!可是在UD生成的代码里,调用存储过程却是这样的:
set rsReport = Server.CreateObject("ADODB.Recordset")
rsReport.ActiveConnection = MM_jxc_STRING
rsReport.Source = "{call dbo.spqryDaySaleJe('" + Replace(rsReport__sDate, "'", "''") + "')}"
rsReport.CursorType = 0
rsReport.CursorLocation = 2
rsReport.LockType = 3
rsReport.Open()
rsReport_numRows = 0
这该怎么处理输出变量呢?



blshfw

职务:普通成员
等级:1
金币:1.0
发贴:241
注册:2001/5/15 16:44:13
#42001/11/7 10:01:30
你写的什么鸟程序啊!!有这样调用存储过程的吗?用Command对象调用!
我自己试过了,可以的。




职务:普通成员
等级:1
金币:0.0
发贴:56
注册:2001/11/5 22:59:30
#52001/11/7 11:30:44
哦,谢谢~~~