The CGXADOEngine implements CGXDBEngine and binds it to an ADORecordset.
Pass an ADORecordset via the constructor while creating the engine.
CGXADOEngine(ADORecordset* pSet, BOOL bIsOpen = TRUE);
There are also member-function variants for this constructor that you can use to re-initialize the engine at a later time.
void Init(ADORecordset* pSet, BOOL bIsOpen = TRUE);
NOTE >> If any of these re-initializing calls change the schema of the result set, then you will need to re-initialize the grid to reflect this new schema with a call to InitFromEngine().
The CGXHierADOEngine derives from CGXADOEngine and creates a child during a call to GetChildAt(). It checks if there are any adChapter type fields available. If it finds any, it creates a child off the recordset to which it points. It also keeps the child recordset synchronized with the child engines. It is fairly complex, because all the children share the same underlying child recordset.
Use this engine when binding it to a hierarchical DBEGrid.
Please refer to the sample located at <stingray-installdir>\Samples\Grid\ Database\AdoHier.