It is a training, not a showroom.
To show ADORDD, hbMySQL, SQLMIX, SQLRDD, Letodb, this will cause confusion, and will be like a showroom.
They are to code like DBF and array?
Then, training do not need to show them, it is needed to show DBF and array only.
To SQL, not sure, perhaps ADO, using SQL commands only, to show that SQL is not DBF, and may have values not needed on DBF as NULL.
Once HMG is windows, and ADO is a windows feature, why not ?
cn := win_OleCreateObject( "ADODB.Connection" )
oRec := cn:Execute( "SELECT ...." )
DO WHILE ! oRec:Eof()
? oRec:Fields("name"):value
ENDDO
oRec:Close()
Seems that it will be 1 minute about ADO, and rest of time about SQL.
And without to confuse about DBF use.
Error if value is NULL, this is part of SQL, why user can't to know about this?
José M. C. Quintas