with dmData.spAdo do//spAdo 为adoStroreProc
    begin
      close;
      Parameters.ParamByName('@p1).Value:=edt1.Text);
      Parameters.ParamByName('@p2').Value:=Trim(edt2.Text);
    
      PrePared:=True;
      execProc();

解决方案 »

  1.   

    .ParamByName('@p2').???参数还要加引号?那不成了字符串了?
      

  2.   

    .ParamByName('@p2').???参数还要加引号?那不成了字符串了?
      

  3.   

    正确格式:
    with dmData.spAdo do//spAdo 为adoStroreProc
        begin
          close;
          Parameters.ParamByName('@p1').Value:=edt1.Text);//一定加单引号
          Parameters.ParamByName('@p2').Value:=Trim(edt2.Text);
        
          PrePared:=True;
          execProc();
    end;
      

  4.   

    Parameters.ParamByName('@p1').Value:=edt1.Text);
    这一句有问题,应该是:
    Parameters.ParamByName('@p1').Value:=Trim(edt1.Text);