我有个存储过程(有两个输入参数,@firstday和@lastday)
create proc forecast  
 @firstday datetime,
 @lastday datetime
as
……
delphi下做了个窗体。
有两个控件TDataTimePicker,比如用户选择了起始时间2005-1-1,结束时间2005-12-31
然后我怎么写语句调用这个存储过程?
我用的adoquery1写调用语句的。
这是我的程序中另一个调用一个无参数的存储过程。
with adoquery1 do
begin
 close;
 sql.Clear;
 sql.Add('exec addcttosales');
 execsql;

解决方案 »

  1.   

    方法一:用sql语句执行,adoquery
    with adoquery1 do
    begin
     close;
     sql.Clear;
     sql.Add('exec addcttosales 参数');//直接写参数,你在sql server中怎么用,这里就怎么用
     execsql;
      

  2.   

    方法二:用ADOStoredProc1: TADOStoredProc;组件
    首先设置他的连接字符串
    然后设置他要连接的存储过程名:属性ProcedureName
    赋值参数,和adoquery的差不多
    最后执行。
      

  3.   

    ADOStoredProc1.ProcedureName := XXXx;
      ADOStoredProc1.Parameters.CreateParameter();
      ADOStoredProc1.Parameters.ParamByName('').ASXXXX := XXXX;
      ADOStoredProc1.Parameters.CreateParameter();
      ADOStoredProc1.Parameters.ParamByName('').ASXXXX := XXXX;
      ADOStoredProc1.ExecProc;