Use the following information as a guide for conformance testing.
OLE DB Interfaces ADO RequiresOLE DB Interfaces ADO Uses, If Available
OLE DB Interfaces Not Used by ADO 2.0
OLE DB Interfaces Used by ADO 2.1
CursorType to Rowset Properties Mapping
adOpenForwardOnly | All cursor types, IRowset, IDBSequentialStream, IColumnsRowset | |
adOpenKeyset | DBPROP_OWNUPDATEDELETE, DBPROP_OWNINSERT, DBPROP_OTHERUPDATEDELETE, DBPROP_IRowsetLocate DBPROP_CANSCROLLBACKWARDS, DBPROP_CANFETCHBACKWARDS, DBPROP_CANHOLDROWS, DBPROP_IRowsetRefresh, DBPROP_REMOVEDELETED | |
adOpenStatic | DBPROP_OWNUPDATEDELETE, DBPROP_OWNINSERT, DBPROP_IRowsetLocate DBPROP_CANSCROLLBACKWARDS, DBPROP_CANFETCHBACKWARDS, DBPROP_CANHOLDROWS, DBPROP_IRowsetRefresh | |
adOpenDynamic | DBPROP_OWNUPDATEDELETE, DBPROP_OWNINSERT, DBPROP_OTHERUPDATEDELETE, DBPROP_OTHERINSERT DBPROP_CANSCROLLBACKWARDS, DBPROP_CANFETCHBACKWARDS, DBPROP_REMOVEDELETED |
LockType to Rowset Properties Mapping
adLockReadOnly | None | |
adLockOptimistic | DBPROP_IRowsetChange, DBPROP_UPDATABILITY, DBPROP_IRowsetUpdate | |
adLockPessimistic | DBPROP_IRowsetChange, DBPROP_UPDATABILITY, DBPROP_IRowsetUpdate | |
adLockBatchOptimistic | DBPROP_IRowsetChange, DBPROP_UPDATABILITY, DBPROP_IRowsetUpdate |
The following table maps the methods, properties, and collections of ADO objects to the corresponding OLE DB methods called.
NOTE: ADO caches information and defers the call to the OLE DB method.
ADO Object | OLE DB Method |
Execute | ICommand::Execute |
ActiveConnection | | |
CommandText | ICommandText::SetCommandText | |
CommandTimeout | ICommandProperties::SetCommandProperties(DBPROP_COMMANDTIMEOUT) | |
CommandType | | |
Prepared | ICommandPrepare::Prepare and ICommandPrepare::Unprepare |
Parameters | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset. set : ICommandWithParameters::SetParameterInfo | |
Properties | IDBProperties::GetPropertyInfo, ICommandProperties::GetProperties and ICommandProperties::SetProperties |
BeginTrans | ITransactionLocal::StartTransaction | |
Close | | |
CommitTrans | ITransactionLocal::Commit | |
Execute | ICommand::Execute or IOpenRowset::OpenRowset | |
Open | IDBInitialize::Initialize and IDBCreateSession::CreateSession | |
RollBack | ITransactionLocal::Abort | |
OpenSchema | IDBSchemaRowset::GetRowset |
Attributes | ITransactionLocal::StartTransaction | |
CommandTimeout | ICommandProperties::SetCommandProperties(DBPROP_COMMANDTIMEOUT) | |
ConnectionTimeout | IDBProperties::SetProperties(DBPROP_INIT_TIMEOUT) | |
DefaultDatabase | IDBProperties::GetProperties(DBPROP_CURRENTCATALOG) and IDBProperties::SetProperties(DBPROP_CURRENTCATALOG) | |
IsolationLevel | ITransactionLocal::StartTransaction | |
Mode | IDBProperties::GetProperties(DBPROP_INIT_MODE) and IDBProperties::SetProperties(DBPROP_INIT_MODE) | |
Provider | ISourcesRowset::GetSourcesRowset | |
Version |
Errors | IErrorRecords | |
Properties | IDBProperties::GetPropertyInfo, IDBProperties::GetProperties and IDBProperties::SetProperties |
None |
Description | IErrorRecords::GetErrorInfo | |
HelpContext | IErrorRecords::GetErrorInfo | |
HelpFile | IErrorRecords::GetErrorInfo | |
NativeError | IErrorRecords::GetCustomErrorObject and ISQLErrorInfo::GetSQLInfo | |
Number | | |
Source | IErrorRecords::GetErrorInfo | |
SQLState | IErrorRecords::GetCustomErrorObject and ISQLErrorInfo::GetSQLInfo |
None |
AppendChunk | ISequentialStream::Write | |
GetChunk | ISequentialStream::Read |
ActualSize | IAccessor::CreateAccessor and IRowset::GetData | |
Attributes | IColumnInfo::GetColumnInfo | |
DefinedSize | IColumnInfo::GetColumnInfo | |
Name | IColumnInfo::GetColumnInfo | |
NumericScale | IColumnInfo::GetColumnInfo | |
OriginalValue | IRowsetUpdate::GetOriginalData | |
Precision | IColumnInfo::GetColumnInfo | |
Type | IColumnInfo::GetColumnInfo | |
UnderlyingValue | IRowsetRefresh::GetLastVisibleData or IRowsetRefresh::GetVisibleData | |
Value | IAccessor::CreateAccessor and IRowset::GetData and IRowset::SetData |
Properties | IColumnsRowset::GetAvailableColumns and IColumnsRowset::GetColumnsRowset |
AppendChunk |
Attributes | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset. set : ICommandWithParameters::SetParameterInfo | |
Direction | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset. set : ICommandWithParameters::SetParameterInfo | |
Name | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset | |
NumericScale | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset. set : ICommandWithParameters::SetParameterInfo | |
Precision | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset. set : ICommandWithParameters::SetParameterInfo | |
Size | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset. set : ICommandWithParameters::SetParameterInfo | |
Type | get : ICommandWithParameters::GetParameterInfo or DBSCHEMA_PROCEDURE_PARAMETERS schema rowset. set : ICommandWithParameters::SetParameterInfo | |
Value | IAccessor::CreateAccessor and ICommand::Execute |
Properties |
AddNew | IRowsetChange::InsertRow | |
CancelBatch | IRowsetUpdate::Undo | |
CancelUpdate | None | |
Clone | IRowsetLocate | |
Close | IAccessor::ReleaseAccessor, IRowset::ReleaseRows | |
Delete | IRowsetChange::DeleteRows | |
GetRows | IAccessor::CreateAccessor, IRowsetLocate::GetRowsAt, IRowset::GetNextRows and IRowset::GetData | |
Move | IRowsetLocate::GetRowsAt or IRowset::GetNextRows | |
MoveFirst | IRowsetLocate::GetRowsAt or IRowset::RestartPosition | |
MoveLast | IRowsetLocate::GetRowsAt | |
MoveNext | IRowsetLocate::GetRowsAt or IRowset::GetNextRows | |
MovePrevious | IRowsetLocate::GetRowsAt or IRowset::GetNextRows | |
NextRecordset | IMultipleResults::GetResult | |
Open | IOpenRowset::OpenRowset or ICommand::Execute | |
Requery | IOpenRowset::OpenRowset or ICommand::Execute | |
Resync | IRowsetRefresh::RefreshVisibleData | |
Supports | IRowsetInfo::GetProperties | |
Update | IRowsetChange::SetData and/or IRowsetUpdate::Update | |
UpdateBatch | IRowsetUpdate::Update |
AbsolutePage | get : IRowsetScroll::GetApproximatePosition. set : IRowsetScroll::GetRowsAtRatio or IRowsetLocate::GetRowsAt | |
AbsolutePosition | get : IRowsetScroll::GetApproximatePosition. set : IRowsetScroll::GetRowsAtRatio or IRowsetLocate::GetRowsAt | |
ActiveConnection | IDBInitialize::Initialize and IDBCreateSession::CreateSession | |
BOF | None | |
Bookmark | IAccessor::CreateAccessor and IRowsetLocate::GetRowsAt | |
CacheSize | cRows argument to IRowsetLocate::GetRowsAt or IRowset::GetNextRows | |
CursorType | ICommandProperties::SetProperties | |
EditMode | IRowsetUpdate::GetRowsStatus | |
EOF | None | |
Filter | IRowsetUpdate::GetPendingRows and IRowsetLocate::GetRowsByBookmark OR IRowsetView::CreateView and IRowsetView::OpenViewChapter and IViewFilter::SetFilter | |
LockType | ICommandProperties::SetProperties | |
MaxRecords | IOpenRowset::OpenRowset(DBPROP_MAXROWS) or ICommandProperties::SetCommandProperties(DBPROP_MAXROWS) | |
PageCount | IRowsetScroll::GetApproximatePosition | |
PageSize | Used for absolute positioning with PageCount and AbsolutePage properties | |
RecordCount | IRowsetScroll::GetApproximatePosition | |
Source | | |
Status | IRowsetUpdate::GetRowStatus |
Fields | IColumnInfo::GetColumnInfo | |
Properties | IRowsetInfo::GetPropertyInfo, IRowsetInfo::GetProperties and IRowsetInfo::SetProperties |