DELPHI如何调用存储过程

第一步建立存储过程

create proc MyABC @a int ,@b int, @c int output
as
  set @c=@a*@b

在SQL中使用查询分析器执行:

declare @a int,@b int,@c int
set @a=250
set @b=40
exec MyABC @a,@b,@c output --注意要添加output 关键字!
select @c

在DELPHI中使用数据集控件执行:

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add(‘execute MyABC :a,:b,:c output‘);//也要添加output 关键字!
  ADOQuery1.Parameters.ParamByName(‘a‘).Value:=250;
  ADOQuery1.Parameters.ParamByName(‘b‘).Value:=40;
  ADOQuery1.ExecSQL;
  showmessage(ADOQuery1.Parameters.ParamByName(‘c‘).Value);

在DELPHI中使用专门的调用存储过程的控件执行:

    sp_Exec.Parameters.Clear;
    sp_Exec.ProcedureName := 'sp_TransTo';
    sp_Exec.Parameters.CreateParameter('@mailId', ftString, pdInput, 50, MailId);
    sp_Exec.Parameters.CreateParameter('@Result', ftInteger, pdOutput, 0, rowID);
    sp_Exec.ExecProc;  

原文地址:https://www.cnblogs.com/hnxxcxg/p/2940729.html