用TStoredProc,里面有Params属性,专门针对参数。

解决方案 »

  1.   

    只要后台的存储过程写的正确,调用应该很简单,如:
       传入参数:(storedproc1是存储过程空间名称)
       with storedproc1 do
        begin
           parambyname('@inputparam').asinteger:=100;
           execproc;
        end;
       传出参数:
        with storedproc1 do
           begin
             execproc;
             edit1.text:=params[0].asstring;
           end;
      

  2.   

    Parameters.ParamByName('@outinid').value:=EditOutInId.Text;//输入参数
    ExecProc;
    retflag:=Parameters.ParamByName('@ret').Value; //获得输出参数
      

  3.   

    同意楼上的,还可以直接用QUERY
    如:
        strSql:='sp_CDGetMaxFlrApmnt '+#39+strPoleID+#39+',2';
        DMbasic.Query.Close;
        DMbasic.Query.SQL.Text:=strSql;
        DMbasic.Query.Prepare;
        DMbasic.Query.Active:=True;