存储过程为
CREATE PROCEDURE [dbo].[yhdmpd];1 @yhdm char(2) AS 
Declare @result int
select @result=count(*) from zjyhlbk where yhdm=@yhdm 
return @result
GO

解决方案 »

  1.   

    CREATE PROCEDURE [dbo].[yhdmpd];1
     @yhdm char(2) 
    @result int  output
    AS select @result=count(*) from zjyhlbk where yhdm=@yhdm 
      

  2.   

    DMzjdmwh.ADOSPdmwh.ProcedureName:='zj_yhdmpd';
    DMzjdmwh.ADOSPdmwh.Parameters.ParamByName('yhdm').Value:='01';为何总是提示没有参数'yhdm'如何才能输入参数?
      

  3.   

    在ADOSPdmwh的Parameters里建一个参数对象,双击Parameters,AddNew。
      

  4.   

    ADOSPdmwh应该有个RETURN_VALUE参数用来存放返回值;ADOSPdmwh.DatabaseName设了没有?
    DMzjdmwh.ADOSPdmwh.ProcedureName:='zj_yhdmpd';
    DMzjdmwh.ADOSPdmwh.Refresh;  //加个这试试
    DMzjdmwh.ADOSPdmwh.Parameters.ParamByName('yhdm').Value:='01';
      

  5.   

    当我加了。Refresh方法后又出现了新的错误就是
    此操作不能在关闭的数据集下进行但我试过,如果我不在进行时改变.ProcedureName属性就可以正常运行。请问这会是什么问题呢?
      

  6.   

    DMzjdmwh.ADOSPdmwh.ProcedureName:='zj_yhdmpd';
    DMzjdmwh.ADOSPdmwh.Parameters.ParamByName('yhdm').Value:='01';为何总是提示没有参数'yhdm'如何才能输入参数?
    --------------------------
    DMzjdmwh.ADOSPdmwh.Parameters.ParamByName('yhdm').Value:='01';改为 :DMzjdmwh.ADOSPdmwh.Parameters.ParamByName('@yhdm').Value:='01';//
      

  7.   

    存储过程用 newyj(吴刚vs西西弗) 先生的  with DMzjdmwh.ADOSPdmwh do
      begin
        ProcedureName := 'zj_yhdmpd' ;
        Parameters.ParamByName('@yhdm').Value:='01' ;
        ExecProc ;
        Label1.Caption := IntToStr(Parameters.ParamByName('@result').Value) ;  end;