Connecting with ADO
ADO looks almost identical to DAO at this
level of detail; Microsoft simplified the object model considerably
but kept the essentials the same. The big differences are that (a)
data providers other than ODBC are permitted, and (b) all the Access
specifics, including direct access to tables and relationships, have
been dropped. The data provider can be specified either in a
connection string or in a
Provider
property of the
Connection
object, before the connection is
opened.
Microsoft has data providers for the
following applications at present:
ODBC
Microsoft Index Server
Active Directory Services
Jet engine (via DAO)
So, despite all the hype, you’re still going to use either ODBC or DAO under the hood somewhere. We’ll use our ODBC alias again:
>>> import win32com.client
>>> adoConn = win32com.client.Dispatch('ADODB.Connection')
>>> adoConn.Open('PYDBDEMOS') # use our ODBC alias again
>>> (adoRS, success) = adoConn.Execute('SELECT * FROM Clients')
>>> adoRS.MoveFirst()
>>> adoRS.Fields("CompanyName").Value
'MegaWad Investments'
>>>Adding, editing, and using
GetRows()
is
identical to DAO. We won’t go into the advanced capabilities of
ADO here; numerous references are available.
You should use ADO if you know it’s installed on client machines, because it’s the COM API of the future. However, at the time of writing, you can count on DAO being present on all machines with a copy of Office, and ADO is not yet so widespread. If you stick to basic SQL statements, porting ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access