D
David W. Fenton
Hmmm... If ADO was supposed to be like a superset of DAO
No, that's not even close.
ADO was a replacement for ODBC, i.e., a back-end-agnostic interface
to all databases.
that included
other technologies (and supposedly no loss in speed when using DAO
- har!), then why wasn't it designed so that the DAO part of ADO
would work exactly the same as DAO?
The major premise of your question is in error, so the followon from
it is by definition wrong.
My point is that it's only a stupid
decision in hindsight.
No, it was clearly a bloody stupid decision to deprecate the native
data interface for Jet in favor of a generic data interface layer
for use with Jet. That was clear to me (and a whole host of others)
at the time Access 2000 was released.
The goal of ADO was a good one.
Yes, it was, if you define the goal as having ADO be a modern
replacement for ODBC.
But using a replacement for ODBC to work with Jet data when you're
running Access (which uses Jet files to store its application
objects), just makes no sense whatsoever. And it never did. And
many, many people knew that.
And it didn't even succeed as a replacement for ODBC, since it was
soon abandoned in favor of ADO.NET, which has very little in common
with classic ADO.
Had they
accomplished DAO speed with JET (one of their stated goals)
I don't know that this was one of their stated goals. Can you
provide documentation for that?
In any event, using a non-native generic database abstraction layer
can *never* be as fast as the native interface to a particular
database engine, so I strongly doubt that was ever their goal.
along with
the universality and security they hoped to accomplish,
What does security have to do with ADO? Security is provided by the
database engine, not by the interface layer.
we'd all be
doing everything in ADO.
If pigs had wings, we wouldn't be complaining about pigeon
droppings.
Now that DAO is back,
DAO never went away for those working with Jet data. Microsoft's
corporate agenda tried to deprecate it in favor of ADO, but that
didn't last long (two versions of Access, or maybe even only one).
you are correct that it
should be retrofitted with some of the ADO capabilities.
No, not ADO capabilities. The DAO interface should be updated to
reflect all the capabilities of the Jet database engine.
Maybe
a single connection object is not capable of handling all the
necessary methods for both data objects simultaneously.
Eh? What? This has zilch to do with the problems of ADO, except of
course, that the whole concept of the connection object is pretty
much a server database type of concept, and not really appropriate
for Jet.