有一个存储过程:
CREATE proc aa(@flag int)
as
if @flag=1
begin
raiserror('flag is 1',16,1)
return 1
end
else
begin
raiserror('flag is 0',16,1)
return 0
endDELPHI程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var s: char;
Re:integer;
begin try
ADOStoredProc1.Parameters.ParamByName('@flag').Value:=1;
ADOStoredProc1.ExecProc;
re:=adostoredproc1.Parameters.ParamByName('@RETURN_VALUE').Value;
//showmessage(re);
// showmessage(adostoredproc1.Parameters.ParamValues['@Return_Value']);
except
on e:exception do showmessage(e.Message);
end;
showmessage(inttostr(re));
end;
返回值使终都是0,好像都没有执行RETURN这一句?
CREATE proc aa(@flag int)
as
if @flag=1
begin
raiserror('flag is 1',16,1)
return 1
end
else
begin
raiserror('flag is 0',16,1)
return 0
endDELPHI程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var s: char;
Re:integer;
begin try
ADOStoredProc1.Parameters.ParamByName('@flag').Value:=1;
ADOStoredProc1.ExecProc;
re:=adostoredproc1.Parameters.ParamByName('@RETURN_VALUE').Value;
//showmessage(re);
// showmessage(adostoredproc1.Parameters.ParamValues['@Return_Value']);
except
on e:exception do showmessage(e.Message);
end;
showmessage(inttostr(re));
end;
返回值使终都是0,好像都没有执行RETURN这一句?
CREATE proc aa(@flag int)
as
if @flag=1
begin
raiserror('flag is 1',16,1)
return 1
end
else
begin
raiserror('flag is 0',16,1)
return 0
end declare @i int
execute @i = aa 1
select @i
服务器: 消息 50000,级别 16,状态 1,过程 aa,行 6
flag is 1(所影响的行数为 1 行)
不是没有RETURN 的值呀~
你选择“网格”选项卡,就能看到返回的return 的值。