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.