vb调用带输出参数的存储过程?(紧急)
如何使用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