对于用存储过程返回两个或两个值的情况可如下解决
用一Query控件其SQL语言为'select * from 存储过程名',即可返回结果集。

解决方案 »

  1.   

    storedproc1.open;
    xxx := storedproc1.fields[0].asinteger
      

  2.   

    在SQL SERVER中定义存贮过程时将要返回的记录集在最后用select @param。在delphi中就可以使用TQuery.
    create proc Myprocedure(@param char(20))
    as
    begin
    select @param=firstname from authors
    select @param
    end
    TQuery这样引用:
    query1.sql.clear;
    query1.sql.add('exec Myprocedure');
    query1.active:=true;
    之后对TQuery的操作与一般的TDATASET没什么不同!