On Thursday, January 2, 2003, 4:10:53 AM, David wrote:

> Second, if you want to create utilities for dealing with result sets.  
> For example, in Java you can create (and I have created) an object that 
> buffers a result set and metadata.  If you are clever, you can track 
> changes, deletions, and additions to the data.  If you are really 
> clever, you can use the metadata to construct SQL to change the 
> database to match the buffer.  This allows you to instantiate a result 
> set object by sending it any SQL whatever, change the values in that 
> object, add rows to the object, and delete rows to the object, and then 
> simply call a "commit" method to have the object issue the appropriate 
> update, insert, and delete statements.  This type of a setup allows you 
> to eliminate hundreds or thousands of error-prone sql-computation lines 
> from your code.  Moreover, such an object makes an ideal superclass for 
> objects that correspond to database tables.


This sounds really good.  Has anyone really *really* clever
generalised all this and released it as a library (in any language)?

Gavin