Create modern-looking & feature-rich Windows applications faster with well over 600 components in one money and time saving bundle for Delphi & C++Builder
A major update for our product TMS VCL UI Pack has been released.
What's new in v10.2.5.0:
Available separately and also included in TMS ALL-ACCESS, TMS VCL Subscription and TMS Component Studio
Cached Updates in TMS Aurelius, Batch (Bulk) Update in TMS RemoteDB
TMS Aurelius Cached Updates
When persisting objects by calling object manager methods like Save, Flush or Remove, the manager will immediately perform SQL statements to reflect such changes in the database. For example, calling this:
Manager.Remove(Customer);Will immediately execute the following SQL statement in the database:
DELETE FROM CUSTOMERS WHERE ID = :idWith cached updates feature, you have the option to defer the execution of all SQL statements to a later time, when you call ApplyUpdates method. This is enabled by setting CachedUpdates to true. Take the following code as an example:
Manager.CachedUpdates := True; Manager.Save(Customer); Invoice.Status := isPaid; Manager.Flush(Invoice); WrongCity := Manager.FindThe above code should perform the following SQL statements:
You can check this new feature yourself in the new Cached Updates demo which is included in TMS Aurelius install.
TMS RemoteDB Batch/Bulk Updates (Array DML)
In RemoteDB, if you want to insert, update or delete several records at the same time, using the same SQL statement, you can now use the batch update feature - also known as Array DML.
In this mode, a single SQL statement is sent to the server, and multiple values are passed for each parameter. For example, consider the following SQL statement:
XDataset1.SQL.Text := 'INSERT INTO Cities (Id, Name) VALUES (:Id, :Name)';If you want to insert three records using the same statement, this is how you should do it:
XDataset1.ParamByName('Id').DataType := ftInteger; XDataset1.ParamByName('Name').DataType := ftString; XDataset1.ArraySize := 3; XDataset1.ParamByName('Id').Values := 1; XDataset1.ParamByName('Name').Values := 'London'; XDataset1.ParamByName('Id').Values := 2; XDataset1.ParamByName('Name').Values := 'New York'; XDataset1.ParamByName('Id').Values := 3; XDataset1.ParamByName('Name').Values := 'Rio de Janeiro'; XDataset1.Execute;The advantage of this approach is that a single HTTP request containing the SQL statement and all parameters will be send to the server. This increases performance, especially on environments with high latency.
In addition to that, if the database-access component you are using server-side supports Array DML (like FireDAC or UniDAC), then it will also increase performance server-side significantly, by also using Array DML to actually save data in the database. Otherwise, a batch update will be simulated, by preparing the SQL statement and executing it for each row of parameters.
You can try TMS Aurelius, TMS RemoteDB, and all the other TMS Business products right now! Download the trial version, watch tutorial videos and many more from the TMS Business main page.
Powerful, extensive & flexible component suite for native Excel report & file generation & manipulation
A major update for our product TMS FlexCel has been released.
Main new features in version 7.5:
Get in-depth product knowledge and learn how to get more productive at writing better software!|
Now that we are at home, we should make the most of our free time! Here is a list of educational books about TMS components.
What's next:If this crisis allows us, our next planned book will also be TMS WEB Core related!
In addition, we also listen to you! Comments in our blog, what the subject of our next book should be!
As always, we thank all users for the numerous inputs, feedback, comments and suggestions. This is an invaluable help to steer our developments here at TMS software.