我正做一个数据查询程序,由于数据量比较大,所以需要边查询边在一个stringgrid中显示出结果,请问我该怎么做?分少可以再加。最好给出一段实例代码。多谢了。

解决方案 »

  1.   

    你试试着个:
    =======================================================
    procedure TForm1.bbtnNEWClick(Sender: TObject);
    var aCDS:TClientDataSet;
    begin
      lStart := GetTickCount;
      //¿ªÊ¼Ê¹ÓÃз½·¨ËÑÑ°
      aCDS:=TClientDataSet.Create(Self);
      //aCDS.CloneCursor(dmTest.sdsTest,True);
      aCDS.Data:=dmTest.sdsTest.Data;
      if aCDS.Locate('ID',editFieldValue.Text,[loCaseInsensitive,lopartialKey]) then
        dmTest.sdsTest.MoveBy(aCDS.RecNo-dmTest.sdsTest.RecNo)
      else
      begin
        aCDS.Free;
        dmTest.sdsTest.Locate('ID',editFieldValue.Text,[loCaseInsensitive,lopartialKey]);
      end;
      //¼ÆËãºÄÓÃʱ¼ä¡¢¶¯ÓõÄÊý¾ÝÁ¿
      lEnd := GetTickCount;
      editTimer.Text := FloatToStr((lEnd - lStart) /1000.0);
      editCount.Text:=IntToStr(dmTest.sdsTest.RecordCount);
    end;