一个奇怪的问题,在线等。请高手帮忙看看 找金蝶财务软件价格
库存管理软件版1楼: 存储过程这样写到
CREATE PROCEDURE GetMaxNumBL
@Tempnum nvarchar, --参数:当天的日期字符串格式
@Temp1 nvarchar, --参数:当前的订料单编号
@i integer output --参数:返回订料单当前编号是否是系统中最大的编号
AS
declare @Tempmax nvarchar
select @Tempmax=max(Bldlbh) from Bldld where Bldlbh like ''%''+@Tempnum+''%''
if @Temp1 = @Tempmax
begin
Set @i = 1
end
Else
begin
Set @i= 0
end
return @i
GO
在delphi中调用语句如下:
with ADOGet do
begin
j:=0;
Close;
ProcedureName:= ''GetMaxNumBL'';
Parameters.Refresh;
Parameters.ParamByName(''@Tempnum'').Value:= wutemp1;
Parameters.ParamByName(''@Temp1'').Value:= wutemp2;
Parameters.ParamByName(''@i'').Value:= j;
Open;
j:=FieldByName(''i'').value;
end;
编译时能顺利通过
运行时却提示错误,好像是没有找到返回值之类的
请问是怎么回事儿呀
CREATE PROCEDURE GetMaxNumBL
@Tempnum nvarchar, --参数:当天的日期字符串格式
@Temp1 nvarchar, --参数:当前的订料单编号
@i integer output --参数:返回订料单当前编号是否是系统中最大的编号
AS
declare @Tempmax nvarchar
select @Tempmax=max(Bldlbh) from Bldld where Bldlbh like ''%''+@Tempnum+''%''
if @Temp1 = @Tempmax
begin
Set @i = 1
end
Else
begin
Set @i= 0
end
return @i
GO
在delphi中调用语句如下:
with ADOGet do
begin
j:=0;
Close;
ProcedureName:= ''GetMaxNumBL'';
Parameters.Refresh;
Parameters.ParamByName(''@Tempnum'').Value:= wutemp1;
Parameters.ParamByName(''@Temp1'').Value:= wutemp2;
Parameters.ParamByName(''@i'').Value:= j;
Open;
j:=FieldByName(''i'').value;
end;
编译时能顺利通过
运行时却提示错误,好像是没有找到返回值之类的
请问是怎么回事儿呀
2楼: 急用呀
请帮帮忙 如金蝶财务软件价格
3楼: 存储过程中
return @i
改成 select @i as i
试试
4楼: 多谢道长
按你说的方法,问题是解决了
可就是弄不明白
为什么 return 返回却不行呀
5楼: 不用奇怪了!查帮助![:D]
6楼: 只有select会返回数据集
库存管理软件版7楼:
8楼: 多人接受答案了。