>I noticed that you use code (unfamiliar to me):
>
>
>* Create recordset
>oRS = oCon.Execute(lcSql)
>
>
>Is this (above) better approach than setting CA properties .DataSource and .SelectCmd?
>
>
>* example
>.DataSource = CREATEOBJECT('ADODB.Recordset')
>.SelectCmd = "select * from table"
>
>
>>Detach the cursor before killing CA
http://www.berezniker.com/content/pages/visual-foxpro/converting-ado-recordset-cursor-cursoradapter>>
>>>
As you see in Sergey's code, there is no other CA properties set.
That code is just a replacement of the SQLEXEC(), but using ADO not ODBC.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.