vb调用带输出参数的存储过程?(紧急)

mouse8899 2002-10-31 07:19:05
如何使用ado调用带output参数的存储过程?
问题是:如果使用vb的ado调用,参数如何赋值?如何返回结果的记录集?或者说如何得到本存储过程中输入的OrderNo?
存储过程的如下:
CREATE PROC Gen_BillNo
@Restaurant smallint,
@OrderNo varchar(16) output
AS
declare @date smalldatetime
declare @Order numeric(12,0)
declare @New numeric(8,0)
declare @last_Order numeric(12,0)
declare @datestr varchar(12)
declare @olddatestr varchar(8)
declare @OldOrder numeric(8,0)
declare @id numeric(3,0)
declare @idstr varchar(4)


set @New = 10000
set @date = getdate()
set @New = @New*Year(@date) + month(@date)*100 + day(@date)
select @last_Order=LastBillNo from RESTAURANT where ID=@Restaurant

if (@last_Order) is not null
begin
set @datestr=cast(@last_Order as varchar(11))
set @olddatestr=left(@datestr,8)
set @idstr=right(@datestr,3)
set @OldOrder=cast(@olddatestr as numeric(8,0))
set @id=cast(@idstr as numeric(3,0))
if (@OldOrder >= @New)
begin
set @id=@id+1
set @Order = @OldOrder*1000+@id
end
else
set @Order = @New*1000+1
end
else
set @Order = @New*1000+1
set @OrderNo = cast(@Restaurant+10000 as varchar(5))
set @OrderNo = right(@OrderNo,4) + '-'
set @OrderNo = @OrderNo + cast(@Order as varchar(11))
RETURN
GO
...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bu_wen 2002-11-01
  • 打赏
  • 举报
回复
可以这样传递参数.:
dim conn as adodb.connection
dim rs as aoddb.recordset
dim cmd as adodb.command
dim prm as adodb.parameter
set cnn = new adodb.connection
set rs = new adodb.recordset
with cmd
.activeconnection = conn
.commandtxt="Gen_BillNo" '过程名
.commandtype=adcmdstoredproc '设置命令集为存储过程
'创建一个参数对象 传递参数
set prm=creatparameter("OrderNo",adchar,adparainput,16,"参数值")
'向参数集合添加参数对象
.parameters.append prm
set rs=.execute '返回记录集
end with

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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