TDataset, run a sql query, call the open method and bingo! We have a copy of the records (and a multitude of metadata) in memory, ready to be manipulated.You may be very familiar with some variation of this code:
procedure Foo;
var
qry: TSqlQuery;
begin
qry := TSqlQuery.Create;
try
qry.CommandText := 'select some fields from some table';
qry.Open;
while not qry.Eof do
begin
{ some proccessing oncurrent row }
qry.Next;
end;
finally
qry.Close;
FreeAndNil(qry);
end;
end;
Simple, isn't?
Yes, but... Well, image maintain a system where there are thousands of functions exactly the same as this, spreaded over hundreds or thousands of units and you will start to feel chills.