使用的什么数据库,如果是bde来连接数据库的话,
使用tstoreproc就行了.

解决方案 »

  1.   

    可以使用ADOConnection执行,把存储过程当作一般的SQL语句,如Insert之类即可。
      

  2.   

    With Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('Exec yourproc :@param')  //@param存储过程输入参数
      parambyname('@param').asstring:=xxxx;
      .....
    end;
      

  3.   

    方法太多了,下面介绍一点我用得最多的方式:
    使用ADO的TADOQUERY组件Aq1.
    如果这个存储过程有返回值:
    A1.close;
    a1.sql.text:='Exec your_proc_Name :C1,:c2';
    A1.parameters[0].value:=...
    A1.Parameters[1].value:=...
    try
      A1.open;
      A1.frist;
     While not eof do
      begin
      .
      .
      end;
    except
      ...
    end;
    没有返回值的存储过程:
    A1.close;
    a1.sql.text:='Exec your_proc_Name :C1,:c2';
    A1.parameters[0].value:=...
    A1.Parameters[1].value:=...
    try
      A1.ExecSql;
    except
      ...
    end;另外还可使用TStoreProc\TQuery\TAdoStoreProc\TADoCommand.....
      

  4.   

    定义一个TStoreProc的变量来执行该存储过程。