--@b输出参数 create proc p(@a int,@b int output) as if @a=0 begin set @b=0 select @b end if @a=1 begin set @b=1 select @b end --查询分析器调用 declare @c int exec p 1,@c print @c //delphi procedure TForm1.Button1Click(Sender: TObject); begin with ADOStoredProc1 do begin ProcedureName := 'p;1'; Close; Parameters.Refresh; Parameters.ParamByName('@a').value := 1; Parameters.ParamByName('@b').value := -1; ExecProc; ShowMessage(Parameters.ParamByName('@b').value);//取得输出参数的值 end; end;
with AdoQuery1 do begin Close; SQL.Clear; SQL.Add('exec 存储过程名 :AddDate1,:AddDate2,:CustName'); //adddate1,adddate2,custname是存储过程中定义的参数 Parameters.ParamByName('AddDate1').Value:=DateTimePicker1.Date; Parameters.ParamByName('AddDate2').Value:=DateTimePicker2.Date; Parameters.ParamByName('CustName').Value:=Edit_Cust.Text; Execsql; end;
ADOP : TADOStoreDProc
with ADOP do
begin
Active := false;
ProcedureName := 'PRO1'; //存储过程名
Parameters.Clear;
(*创建存储过程的参数*)
Parameters.CreateParameter('@AAAA, ftstring,pdInput, 10, Null);
Parameters.CreateParameter('@IVALUE1', ftInteger, pdInput, 10,Null);
Parameters.CreateParameter('@IVALUE2', ftInteger, pdInput,10, Null);
Parameters.CreateParameter('@IVALUE3', ftInteger, pdInput,10, Null);
Prepared := True;
(*向存储过程传递参数*)
Parameters.ParamByName('@AAAA').Value := 输入;
Parameters.ParamByName('@IVALUE1').Value := 输入;
Parameters.ParamByName('@IVALUE2').Value := 输入;
Parameters.ParamByName('@IVALUE3').Value := 输入;
ExecProc;
End;
create proc p(@a int,@b int output)
as
if @a=0
begin
set @b=0
select @b
end
if @a=1
begin
set @b=1
select @b
end
--查询分析器调用
declare @c int
exec p 1,@c
print @c
//delphi
procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOStoredProc1 do
begin
ProcedureName := 'p;1';
Close;
Parameters.Refresh;
Parameters.ParamByName('@a').value := 1;
Parameters.ParamByName('@b').value := -1;
ExecProc;
ShowMessage(Parameters.ParamByName('@b').value);//取得输出参数的值
end;
end;
begin
Close;
SQL.Clear;
SQL.Add('exec 存储过程名 :AddDate1,:AddDate2,:CustName');
//adddate1,adddate2,custname是存储过程中定义的参数
Parameters.ParamByName('AddDate1').Value:=DateTimePicker1.Date;
Parameters.ParamByName('AddDate2').Value:=DateTimePicker2.Date;
Parameters.ParamByName('CustName').Value:=Edit_Cust.Text;
Execsql;
end;