Blog Options
Archive
<< November 2026 >>-
Wednesday 11
- Navigating the Post-Quantum Transition: Regulations, Timelines, Hybrid Standards and TMS Cryptography Pack -
Tuesday 10
- Introducing WebMCP support in TMS WEB Core -
Thursday 5
- Subscription option added for all TMS BIZ and FlexCel products -
Wednesday 4
- TMS FNC Localization use case in FontCreator -
Tuesday 3
- TMS Scripter Now Speaks JavaScript
- TMS October 2026 highlights
- Turn Your Delphi Application into an MCP Server with TMS AI Studio
- From Triage to Action: Drafts, Forwards, Calendars and Alerts with TMS FNC Cloud Pack
- AI That Reads Attachments, Remembers Customers and Catches Spam
Authors
- Bernard Roussely (8)
- Wagner Landgraf (109)
- Dennis Röhner (3)
- Roman Yankovsky (2)
- Bart Holvoet (45)
- Aaron Decramer (87)
- Aäron Decramer (17)
- Pieter Scheldeman (144)
- Nancy Lescouhier (32)
- Adrian Gallero (35)
- Bruno Fierens (465)
- Marcos Douglas B. Santos (5)
- Bernard (4)
- Bradley Velghe (47)
- Andrew Simard (86)
- Holger Flick (15)
- Gjalt Vanhouwaert (54)
- Tunde Keller (40)
- Masiha Zemarai (117)
Blog
All Blog Posts | Next Post | Previous Post
My Top 10 Aurelius Features - #4 Aurelius Dataset
Thursday, February 9, 2017
I consider Aurelius Dataset (TAureliusDataset) a hidden gem of TMS Aurelius. Well, not exactly "hidden" because it's a significant part of it to deserve its own chapter in the Aurelius documentation, but in the sense that it's different from the normal ORM "core" which is update, insert, delete, select, query, etc.. And for that it's #4 of My Top 10 Aurelius Features.The first misunderstanding about the TAureliusDataset is confusing its usage with the regular way we use Delphi datasets. I've been in discussions in forums with people that were blaming the usage of dataset, because it's not "good practice", because logic should be in the controller/model, etc., etc..
The point is Aurelius Dataset is for data binding. It's not about retrieving data. You will retrieve data the same way with or without the dataset. Your logic, controller and model will still be isolated. But when it comes to show or edit data of an entity in a visual form, you don't have to manually do things like this:
edCustomerName.Text := Customer.Name; edCustomerCity.Text := Customer.City;
Grid.Clear; for Customer in Customers do begin CurrentRow := Grid.AddRow; Grid.Columns[0, CurrentRow] := Customer.Name; Grid.Columns[1, CurrentRow] := Customer.City; end;
AureliusDataset1.SetSourceList(MyCustomerList);
AureliusDataset1.SetSourceObject(MyCustomer);
The coolest thing about the Aurelius Dataset is that its minor features and high integration with Aurelius. It's not just a generic binder between Delphi objects and controls. But it handles smoothly a lot of specific Aurelius features like:
Nullable types
Associations and its sub-properties
Master-Detail (many-valued association as nested datasets)
Enumerated types
and provide the regular dataset mechanisms but adapted to the object-oriented approach, like:
Lookup fields
Calculated fields
Design-time support
And finally, it handles paging and fetching smoothly as well. You can have a criteria that is retrieved page by page on demand, avoiding all objects to be retrieved at once, and at the same time avoiding a cursor to be open to the database!
Watch the video above to see Aurelius Dataset in action, and if you want to get notified about upcoming videos, subscribe to our YouTube channel!
Wagner Landgraf
This blog post has not received any comments yet.
All Blog Posts | Next Post | Previous Post