我要在程序运行时在给storedproc1的ProcedureName赋值proc1带三个参数@a,@b,@c
然后加传值执行!可是怎么把需要传入的数据赋值给proc1中的相应参数。

解决方案 »

  1.   

    storedproc1.close;
       storedproc1.ParamByName('@a').AsInteger :=iJLBH;
       storedproc1.ParamByName('@b').AsInteger :=iJLBH;
       storedproc1.ExecProc;这样就可以啊 
      

  2.   

    with adostoredproc1 do
      begin
        Active:=false;
        Connection:=adoconnection1;
        ProcedureName:=sp_addlogin';
        ParamByName('@loginame').asstring:='aaa';
        ParamByName('@passwd').asstring:='aaa';
        ExecProc;
      end;出错了
    [Error] Unit1.pas(35): Undeclared identifier: 'ParamByName'
    [Error] Unit1.pas(35): Missing operator or semicolon
    [Error] Unit1.pas(36): Missing operator or semicolon如何弄? 谢谢
      

  3.   

    现在它又说 找不到@loginame参数,可是我在SQL Server里面看过了啊
    create procedure sp_addlogin
        @loginame sysname
       ,@passwd         sysname = Null
       ,@defdb          sysname = 'master'      -- UNDONE: DEFAULT CONFIGURABLE???
       ,@deflanguage    sysname = Null
       ,@sid varbinary(16) = Null
       ,@encryptopt varchar(20) = Null
    AS这个参数存在啊,哪里又错了?
      

  4.   

    这样
        Parameters.ParamByName()
      

  5.   

    我换成Parameters.ParamByName()了,可是还是说找不到参数 best请指教