This is a very simple question am sure someone can point me in the correct direction.
I apologise for my lack of experience using Databases.
I need to Update a Table which contains many items ( 2000 ) i need to update one field named status for as many as 300 items every 10 seconds. Since this is the duration of updates I receive fro a piece of hardware and the table needs to be kept current.
I have tried doing each update one after the other but this takes a very long time and does not complete before another batch of updates is received.
The question is : What is the best way to do this? Can i send all 300 updates at the same time? and how using Delphi? I am developing the application using Delphi 2006.
Peter
Multiple Updates
Hello,
You should use the TClientDataSet component to update a table. TClientDataSet is a component that stores all changes in memory until the ApplyUpdates method is called. Here is a code example:
You should use the TClientDataSet component to update a table. TClientDataSet is a component that stores all changes in memory until the ApplyUpdates method is called. Here is a code example:
Code: Select all
ClientDataSet.Open;
ClientDataSet.First;
while not ClientDataSet.Eof do begin
// your changes
ClientDataSet3.Post; // here changes are stored only in memory
ClientDataSet3.Next;
end;
ClientDataSet3.ApplyUpdates(0); // here all changes are sent to the server in one batch. dbExpress uses transactions for this.