Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual FoxPro
Expertise: Beginner
Nov 5, 1999

Attaching a DataGrid Control to ADO

Question:
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:
 
DataGrid1.DataSource=mADORecordset1

Answer:
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 require
this.oConnection.Open("dsn=rick;file=rick.dbf")
this.oRecordSet=CREATEOBJECT("adodb.recordset")
*-- Make the recordset static
this.oRecordSet.CursorType=1 
*-- Run a query against the ODBC datasource
*-- change the SQL to the SQL you require
this.oRecordSet.open("select * from rick",this.oConnection) 
this.DataGrid.Datasource = this.oRecordSet
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date