Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Reports are slow with TClientDataSet (used as InMemory Table)

edited August 2014 in General
Hello,

normally the printing or the preview of a report which uses data from
NexusDB are fast.

But if I'm using TClientDataSet from Delphi XE5 then it is really slow.
77 records are printing/previewing in 15 seconds. I'm using
TClientDataSet only as InMemory Tables. LogChanges of TClientDataSet is
set to false. I have this problem in all reports where I'm using
TClientDataSet.

Any ideas why it is so slow? I think 77 records are not very many
records. 77 records from NexusDB are printing in 2 seconds.

Best wishes
Bernhard

Comments

  • edited August 2014
    Forget to mention that I'm using RB14 with Delphi XE5.

    Am 15.08.2014 16:12, schrieb Bernhard Roos:
  • edited August 2014
    Hi Bernhard,

    ReportBuilder pipelines do not differentiate between TDataset
    descendents. The DataPipeline makes generic calls to various TDataset
    routines to access the data regardless which type (NexusDB,
    TClientDataset, ADO, etc) is being used so this is likely an issue with
    the TClientDataset or its manipulation.

    Since you are using XE5, you might try using the FireDAC in-memory
    dataset TFDMemTable and see if you get better results.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.