Ducth, Rick,
You can use adordd together with all of those options (TDatabase classes, adofuncs etc).
The biggest advantages of working with adordd is:
1) You dont change the way you are used to work and you dont loose any of the SQL features and performance.
2) You have all information of each recordset encapsulated on a workarea where you can query all workarea information through any workarea functions.
You dont have to save the recordset pass it to other function in order to access it.
You simply select the corresponding workarea and you will get it.
3) You can always get the workarea recordset by calling hb_adoRddGetRecordSet( nWorkArea ) and use it for your own needs. But still all workarea information will continue to be there to you.
4) Indexes in adordd are nothing more than predefined ORDER BY clause that are automatically created with usual index functions like any other rdd.
Creation of physical index files should only be done by the DBA managing the database otherwise you might get very bad results.
5) Any rdd function like SET RELATION are 100% supported biu you can do it like Rick.
6) You can port immediately a app to any SQL and then within you own time youll aadd other functionalities.
Resuming you can and should use all other tools available like those mentioned by Rick.
Ex
- Code: Select all Expand view
hb_GetAdoConnection():Execute( CREATE VIEW MYVIEW WITH A RELATION )
SELE 0
USE MYVIEW ALIAS MYVIEW
// OTHER FUNCTION
hb_adoRddGetRecordSet( SELECT( "MYVIEW") ):CLOSE()
hb_adoRddGetRecordSet( SELECT( "MYVIEW") ):OPEN( .... another query
// OTHER FUNCTION
MYVIEW->(DBSEEK( XXX))
// OTHER FUNCTION
oRs := hb_adoRddGetRecordSet( SELECT( "MYVIEW") )
oRs := FW_AdoPivotRS( hb_GetAdoConnection(), "MYVIEW", cRowFld, cColFld, cValFld, cAggrFunc )
SELECT MYVIEW
BROWSE()