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

Linked datasets Connected to DBPipelines - Is This OK?

I programatically create Datasets and relationally build SQL with their Datachange events, opening and closing them (but not recreating the components). I create add pipelines. This works nicely.
Should I do this with pipelines datachange? Don't want to! Is this OK or can you foresee any problems?
The concept works well, but do I have to link them within RB?
D7 RB.2203

Comments

  • Hi Lawrance,

    The datapipeline is simply the way ReportBuilder communicates with the dataset. Linking one to a report allows it to access the data as well as automatically traverse each row for each detail band rendered.

    If you are manipulating data inside the OnDataChange event of the Datasource, you may run into issues as moving forward and backward inside a report but this is something you will have to test. It is always best to have your data set before generating the report.
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • The datasets are all set up with their events all working. Then the pipelines are connectedf.

    Any data change for any reason (and movements from reportbuilder) will ripple down, opening and closing the datasets. Reportbulder will then work as expected.

    Can you see any fatalities in this approach? It is used throughout the app, especially for populating calculated fields.

    Lawrence
  • Hi Lawrence,
    Can you see any fatalities in this approach?
    Yes, I can see many :).

    ReportBuilder is constantly accessing the connected datasets, moving forward, backward, accessing bookmarks, etc. Each time this occurs, the OnDataChange event will fire, possibly executing your code hundreds of times per generation. While it may work for a simple report, it is bound to fail when more complexity is introduced.

    If you are using this to manually link your datasets, I suggest using the Delphi parameterized linking feature (which is something RB was designed to work with).

    https://rbwiki.digital-metaphors.com/data-access/database/linking-sql-queries/
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
Sign In or Register to comment.