with ADOQuery1 do
      begin
        close;
        with ADOQuery1.SQL do begin
        Clear;
        Add('select top 20 xpidate,xpinumber,xpibr from xpi') ;
        Add('where xpidate=:rq1 order by xpidate desc') ;
        end;
        ADOQuery1.Parameters.ParamByName('rq1').Value := rrqq1;
        ADOQuery1.Prepared;
        ADOQuery1.Open;
      end;
为什么rrqq1没传成功

解决方案 »

  1.   

    with ADOQuery1 do
    Try
       close;
       Sql.Text:='select top 20 xpidate,xpinumber,xpibr from xpi ' ;
       Sql.Add('where xpidate=:rq1 order by xpidate desc') ;
       Parameters.ParamByName('rq1').Value := rrqq1;
       Open;
    Except
      on E:Exception do ShowMessge('数据库查许出错!'+#13+E.Message);
      

  2.   

    'select top 20 xpidate,xpinumber,xpibr from xpi ' ;
       where xpidate=:rq1 order by xpidate desc'order by 好像没什么意义啊
      

  3.   

    为什么不带参数rq1能取来数,而带参数rq1取不来数 wlbfeihu,你好,我想给你分,却不知怎么给
      

  4.   

    上边xpidate作为查询条件。
    取出来了数xpidate都事一样的
    所以排序没有意义了!!
      

  5.   

    with ADOQuery1 do
          begin
            close;
            with ADOQuery1.SQL do begin
            Clear;
            Add('select top 20 xpidate,xpinumber,xpibr from xpi') ;
            Add('where xpidate='+rrqq1+' order by xpidate desc') ;
            end;
            Open;
          end;