<script type="text/javascript">
</script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
ADOisn'tautomaticallycode-compatiblewithyourexistingdataaccessapplications.WhileADOencapsulatesthefunctionalityofDAOandRDO,youmustconvertmanyofthelanguageelementsovertoADOsyntax.Insomecases,thiswillmeanonlyasimpleconversionofsomefunctionsofyourexistingcode.Inothercases,itmightbebesttorewritetheapplicationusingADO'snewfeatures.
DAO(DataObjects)wasthefirstobject-orientedinterfacethatexposedtheMicrosoftJetdatabaseengine(usedbyMicrosoftAccess)andalloweddeveloperstodirectlyconnecttoAccesstables-aswellasotherdatabases-throughODBC.DAOissuitedbestforeithersingle-systemapplicationsorforsmall,localdeployments.
RDO(RemoteDataObjects)isanobject-orienteddataaccessinterfacetoODBCcombinedwiththeeasy-to-usestyleofDAO,providinganinterfacethatexposesvirtuallyallofODBCslow-levelpowerandflexibility.RDOislimited,though,inthatitdoesn'taccessJetorISAMdatabasesverywell,andthatitcanaccessrelationaldatabasesonlythroughexistingODBCdrivers.However,RDOhasproventobetheinterfaceofchoiceforalargenumberof,,andotherlargerelationaldatabasedevelopers.RDOprovidestheobjects,properties,andmethodsneededtoaccessthemorecomplexaspectsofstoredproceduresandcomplexresultsets.
ADOisthesuccessortoDAO/RDO.FunctionallyADO2.0ismostsimilartoRDO,andthere'sgenerallyasimilarmappingbetweenthetwomodels.ADO"flattens"theobjectmodelusedbyDAOandRDO,meaningthatitcontainsfewerobjectsandmoreproperties,methods(andarguments),andevents.Forexample,ADOhasnoequivalentstotherdoEngineandrdoEnvironmentobjects,whichexposedtheODBCdrivermanagerandhEnvinterfaces.NorcanyoucurrentlycreateODBCdatasourcesfromADO,despitethefactthatyourinterfacemightbethroughtheODBCOLEDBserviceprovider.
MuchofthefunctionalitycontainedintheDAOandRDOmodelswasconsolidatedintosingleobjects,makingforamuchsimplerobjectmodel.Becauseofthis,however,youmightinitiallyfinditdifficulttofindtheappropriateADOobject,collection,property,method,orevent.UnlikeDAOandRDO,althoughADOobjectsarehierarchical,theyarealsocreatableoutsidethescopeofthehierarchy.
Itshouldbenoted,however,thatADOcurrentlydoesn'tsupportallofDAO'sfunctionality.ADOmostlyincludesRDO-stylefunctionalitytointeractwithOLEDBdatasources,plusremotingandDtechnology.
Ingeneral,it'sprobablytooearlyintheevolutionofADOtomigratemostDAOapplications(exceptpossiblyonesusingODBCDirect)toADOrightnow,sinceADOdoesn'tcurrentlysupportdatadefinition(DDL),users,groups,andsoforth.IfyouuseDAOonlyforclient-serverapplicationsanddon'trelyontheJetdatabaseengineoruseDDL,however,thenyoucanprobablymigratetoADOnow.Eventually,MicrosoftwillprovideanADODDLcomponenttoaidinDAO-to-ADOmigrationandprovidegenericDDLsupportforOLEDBproviders. 1 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
ADOisn'tautomaticallycode-compatiblewithyourexistingdataaccessapplications.WhileADOencapsulatesthefunctionalityofDAOandRDO,youmustconvertmanyofthelanguageelementsovertoADOsyntax.Insomecases,thiswillmeanonlyasimpleconversionofsomefunctionsofyourexistingcode.Inothercases,itmightbebesttorewritetheapplicationusingADO'snewfeatures.
DAO(DataObjects)wasthefirstobject-orientedinterfacethatexposedtheMicrosoftJetdatabaseengine(usedbyMicrosoftAccess)andalloweddeveloperstodirectlyconnecttoAccesstables-aswellasotherdatabases-throughODBC.DAOissuitedbestforeithersingle-systemapplicationsorforsmall,localdeployments.
RDO(RemoteDataObjects)isanobject-orienteddataaccessinterfacetoODBCcombinedwiththeeasy-to-usestyleofDAO,providinganinterfacethatexposesvirtuallyallofODBCslow-levelpowerandflexibility.RDOislimited,though,inthatitdoesn'taccessJetorISAMdatabasesverywell,andthatitcanaccessrelationaldatabasesonlythroughexistingODBCdrivers.However,RDOhasproventobetheinterfaceofchoiceforalargenumberof,,andotherlargerelationaldatabasedevelopers.RDOprovidestheobjects,properties,andmethodsneededtoaccessthemorecomplexaspectsofstoredproceduresandcomplexresultsets.
ADOisthesuccessortoDAO/RDO.FunctionallyADO2.0ismostsimilartoRDO,andthere'sgenerallyasimilarmappingbetweenthetwomodels.ADO"flattens"theobjectmodelusedbyDAOandRDO,meaningthatitcontainsfewerobjectsandmoreproperties,methods(andarguments),andevents.Forexample,ADOhasnoequivalentstotherdoEngineandrdoEnvironmentobjects,whichexposedtheODBCdrivermanagerandhEnvinterfaces.NorcanyoucurrentlycreateODBCdatasourcesfromADO,despitethefactthatyourinterfacemightbethroughtheODBCOLEDBserviceprovider.
MuchofthefunctionalitycontainedintheDAOandRDOmodelswasconsolidatedintosingleobjects,makingforamuchsimplerobjectmodel.Becauseofthis,however,youmightinitiallyfinditdifficulttofindtheappropriateADOobject,collection,property,method,orevent.UnlikeDAOandRDO,althoughADOobjectsarehierarchical,theyarealsocreatableoutsidethescopeofthehierarchy.
Itshouldbenoted,however,thatADOcurrentlydoesn'tsupportallofDAO'sfunctionality.ADOmostlyincludesRDO-stylefunctionalitytointeractwithOLEDBdatasources,plusremotingandDtechnology.
Ingeneral,it'sprobablytooearlyintheevolutionofADOtomigratemostDAOapplications(exceptpossiblyonesusingODBCDirect)toADOrightnow,sinceADOdoesn'tcurrentlysupportdatadefinition(DDL),users,groups,andsoforth.IfyouuseDAOonlyforclient-serverapplicationsanddon'trelyontheJetdatabaseengineoruseDDL,however,thenyoucanprobablymigratetoADOnow.Eventually,MicrosoftwillprovideanADODDLcomponenttoaidinDAO-to-ADOmigrationandprovidegenericDDLsupportforOLEDBproviders. 1 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>