How can I use ADO and DataGrid (OLE DB) control in a VFP form? This code does not work in VFP as it works in VB 6.0:
The Datagrid object cannot be attached to a “forward-only” ADO recordset. The type of recordset is set with the CursorType property, which defaults to 0 (forward-only). Therefore you need to set the CursorType property to another value (for example 1, which means static recordset). With slight modification (ODBC datasource and SQL), the code below will accomplish what you need.
Create a form with two properties: oConnection and oRecordset. Put the following into the INIT method:
this.oConnection=CREATEOBJECT("adodb.connection")*-- Open the ADO connection to the*-- ODBC datasource - change the dsn*-- and file to settings you requirethis.oConnection.Open("dsn=rick;file=rick.dbf")this.oRecordSet=CREATEOBJECT("adodb.recordset")*-- Make the recordset staticthis.oRecordSet.CursorType=1 *-- Run a query against the ODBC datasource*-- change the SQL to the SQL you requirethis.oRecordSet.open("select * from rick",this.oConnection) this.DataGrid.Datasource = this.oRecordSet