I agree that ADO data shaping (or hierarchical recordsets) is pretty cool stuff but unfortunately, to implement this you end up compromising the separation of presentation, business, and data layers. <BR><BR>It seems simple to use the shaping commands but it pushes the knowledge of the database into the business (or worse, the presentation) layer. In addition, most of the case studies for MS DNA implementations use stored procedures instead of generating SQL on the fly (due to caching, etc). <BR><BR>In the webapp that I&#039ve been involved with, we were strict in our design of ASPs method calls to VB objects that call DB stored procedures to update/retrieve data. Performance has been very high and the design dynamic in that I can completely rewrite the guts of a stored proc and change DB relationships but the other layers don&#039t need to know (and dont actually care).<BR><BR>So...again, this seems to be an example of cool stuff that is only applicable in simple situations.