DataAccessObject is a native MicroSoft object model shipped with MicrosoftAccess. It has been superseded by ActivexDataObject, which is more suited for communicating with server databases. Information taken from VbDevelopersGuidetoAdo ---- It's also a pattern for accessing RDBMS information, expounded on the Sun J2EE website . ---- This page isn't quite right: the MS API is called DataAccessObjects: note the pluralisation. I propose that except for a note redirecting the reader towards the appropriate page, this page concentrate on the pattern rather than the similarly named API. -- KeithGaughan ---- Another example of this design pattern is the recommendations in the book 'Hibernate In Action'. DAO is certainly not a Microsoft-specific thing. ---- Is it wrong to use the term DataAccessObject generally for a specific implementation of the CaretakerPattern, where DAO is the object used to hide the concrete implementation of how the data is stored (database, files, cloud, whatever) from the application?