//传递参数给后台存储过程
    with CDS do
    begin
      Close;                   i
      FetchParams;
      Params.ParamByName('@Gsdm').Value :=trim(edit3.text);
      Params.ParamByName('@Bmdm').Value :=trim(edit2.text);
      Params.ParamByName('@Lbdm').Value :=trim(edit1.text);
      Params.ParamByName('@sType').Value :='N';
      Params.ParamByName('@sYM').Value :=FormatDateTime('YYYYMM',DateTimePicker1.Date);
      Open;
    end;
edit3.text 默认值为  ’'  有一个空格
edit2.text 默认值为  ''   无空格
edit1.text 默认值为  ''   无空格我跟下来是此句
exec fa_kpzjdata @Gsdm=null,@Bmdm=null,@Lbdm=null,@sType='N',@sYM='200405'

解决方案 »

  1.   

    我希望是
    exec fa_kpzjdata @Gsdm=' ',@Bmdm='',@Lbdm='',@sType='N',@sYM='200405'
      

  2.   

    你是不是说@Gsdm不应该为null,应该为一空格,可是空格已经被trim掉了,所以只能是null
      

  3.   

    即edit3.text=' ',edit2.text='',edit1.text=''
      

  4.   

    不用trim就应该有个空格了,呵呵
      

  5.   

    Params.ParamByName('@Gsdm').Value :=edit3.text;
          Params.ParamByName('@Bmdm').Value :=edit2.text;
          Params.ParamByName('@Lbdm').Value :=edit1.text);
          Params.ParamByName('@sType').Value :='N';
          Params.ParamByName('@sYM').Value :=FormatDateTime('YYYYMM',DateTimePicker1.Date);
          Open;
        end;
    edit3.text 默认值为  ’'  有一个空格
    edit2.text 默认值为  ''   无空格
    edit1.text 默认值为  ''   无空格
    还是不行
      

  6.   

    我用ADOStoredProc1,没有发现这个问题
      

  7.   

    后台存储过程为sp_query
         CREATE PROCEDURE dbo.sp_query
    @qi_querycode varchar(3), 
    @qi_firstcode varchar(2), 
    @qi_queryresult varchar(255) output
    WITH RECOMPILE    
    AS   
    select @qi_queryresult ='/' +  @qi_querycode + '/' + @qi_firstcode + '/'
    return 0
    GO测试程序:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with ADOStoredProc1 do
      begin
        Close;
        Parameters.ParamByName('@qi_querycode').Value :=edit1.text;
        Parameters.ParamByName('@qi_firstcode').Value :=edit2.text;
        ExecProc;
        ShowMessage(Parameters.ParamValues['@qi_queryresult']);
      end;
    end;
    没有发现问题
      

  8.   

    BDE我基本不用,帮不上你了
    :-(