MDAC 2.5 SDK - Technical Articles
This following section describes DAO properties and methods that don't map to properties or methods in ADO, ADOX, or JRO. However, that does not imply that the functionality provided by the DAO properties and methods is not available in ADO, ADOX, or JRO.
Below, each property or method not exposed is listed and followed by a description of why it is not exposed and, if applicable, how to get the equivalent functionality using ADO, ADOX, or JRO.
Object | Property/Method | Explanation |
DBEngine | DefaultType | DAO 3.5 introduced ODBCDirect as a means to work with ODBC data sources without loading the Microsoft Jet database engine. To use ODBCDirect, you set the DefaultType and/or Type properties to dbUseODBC.
As discussed in the "Introduction" section, ADO has a different approach to enabling access to ODBC data sources as well as enabling native access to various data sources such as Microsoft SQL Server. ADO allows users to choose which OLE DB provider they want to use to access the data. So, to work with ODBC data sources without loading the Microsoft Jet database engine, specify MSDASQL rather than Microsoft.Jet.OLEDB.4.0 as the provider name. |
DBEngine | DefaultPassword | In DAO, the DefaultPassword property assigns the default password for a new workspace created on the DBEngine object. Such a property doesn't make sense in the context of the ADO connection model. |
DBEngine | DefaultUser | In DAO, the DefaultUser property assigns the default user id for a new workspace created on the DBEngine object. Such a property doesn't make sense in the context of the ADO connection model. |
DBEngine | RegisterDatabase | The ODBC API provides this functionality. Users should call the ODBC API directly. |
DBEngine | RepairDatabase | The functionality found in RepairDatabase has been incorporated into CompactDatabase in Microsoft Jet 4.0. Compacting a database will also repair it. |
Workspace | Name | The Name property identifies a Workspace in the Workspaces collection. Since there is no concept of a collection of connections in ADO, this property doesn’t apply. |
Workspace | Type | See comments for DBEngine DefaultType property. |
Database | V1xNullBehavior | Support for version 1.0 Null behavior has been dropped. This functionality is obsolete. |
Recordset | CacheStart | Using ADO and the Microsoft Jet provider, it is not necessary to explicitly set the CacheStart property. The Microsoft Jet provider will start caching from the current record. |
Recordset | Edit | The process of updating records has been simplified with ADO such that Edit is not needed. With DAO, you had to call the Edit method to put the Recordset into edit mode before modifying a value otherwise an error would occur. With ADO, modifying a value automatically puts the Recordset in edit mode. |
Recordset | FillCache | As with the CacheStart property, it is not necessary with ADO and the Microsoft Jet provider to explicitly set the FillCache property. The Microsoft Jet provider will start caching from the current record. |
Recordset | LastModified | After modifying a record (or creating a new one) and calling the Update method to save the changes, DAO users had to set the Bookmark property to the LastModified property to ensure that the current record was the record they had just modified. With ADO, this is not necessary as ADO automatically ensures that the current record stays the same after a call to Update. |
Recordset | Name | ADO does not have a recordset collection so there is no need for a name apart from the name the user has given the Recordset when it was declared. |
Recordset | Restartable | All ADO Recordset objects are restartable so a property indicating whether or not it can be resarted is not necessary. |
QueryDef | ReturnsRecords | With DAO QueryDef objects it was necessary to know whether the query returned records in order to execute the query. If the query returned records, you had to use the OpenRecordset method to execute the query. If it did not return records, you had to use the Execute method.
With ADO you no longer need to know whether or not the query returns records in order to execute it because the Execute method is used in either case. If the query returns records, the Execute method returns a Recordset object otherwise it returns Nothing. |
Container | Name | The Container object's functionality can be found as part of the User and Group objects. |
Document | Name | The Document object's functionality can be found as properties on the objects themselves or as part of the User and Group objects. |
User | Password | The user's password is part of the connection string. |
User | PID | PIDs are only required to rebuild a corrupted or destroyed workgroup information file. Keep a current backup of workgroup information files to avoid this, or use SQL DDL commands to specify the PID for a new user. |
Group | PID | PIDs are only required to rebuild a corrupted or destroyed workgroup information file. Keep a current backup of workgroup information files to avoid this, or use SQL DDL commands to specify the PID for a new group. |