6

The LA Fox Developer Newsletter
February 2000
ADO Quickstart (Con’t from page 5)
be released in less than two years. ADO 1.0 was primarily
limited to working with Active Server pages. Only one OLE DB
provider existed, the OLE DB Provider for ODBC Drivers.

ADO (2.1)—Ships with the newest version of Microsoft Web
browser, Internet Explorer 5.0. When discussing data or any-
thing related to the Internet, it is almost impossible to do so
without mentioning XML. XML, the Extensible Markup Lan-
guage, is a mark-up language that allows users to create
custom tags to describe data. XML is quickly becoming the
universal format for storing and streaming data. The primary
storage format in Office 2000 for document data will be XML.
ADO (2.1) client-side recordsets can be saved as XML docu-
ments.

ADO (2.0)—Represented a huge gain in functionality. One of the
most notable new features was the ability to create client-side
recordsets. To go along with this, also added were the abilities
to create filters and indexes, and the ability to sort recordsets.
These abilities are very much the same as those that exist with
Visual FoxPro cursors. Finally, the ability to persist client-side
recordsets was also added. In effect, data could be acquired
from a server into a client-side recordset. The client-side
recordset could then be saved as a file on the local hard-drive
that could be opened at a later time without being connected to
the network.
ADO (1.5)—Introduced new capabilities and providers to ADO.
Among the new providers was the OLE DB Provider for Jer(the
JOLT Provider). The MS Remote Provider, which powers the
Remote Data Services (RDS), was introduced as well. This
version also introduced the ability to create disconnected
recordsets.

What You Need to Get Started

In order to work through the examples presented in this paper,
you will need the following:

+ Microsoft Visual FoxPro 6.0

+ Microsoft Data Access Components, which can be down-
loaded from http://www.microsoft.com/data/

+ SQL Server 6.5 or 7.0 with the sample Northwind database
installed

+ A system DSN called TasTrade that points to the TasTrade
Visual FoxPro Sample Database
+ A system DSN called Northwind that points to the SQL Server
Northwind database

Why Incorporate ADO into a Visual FoxPro Application?

Have you ever wanted to pass a cursor as an argument to a
function or class method? Or have you wanted to pass data to
automation server applications such as Microsoft Word or
Excel? Perhaps you have created a Visual FoxPro DLL and
Until now, the world of component-based development has
lacked one thing: a method of effectively moving data between
processes. Now, whether ADO is hosted by Visual FoxPro,
Visual Basic, Excel, or Word, the interface is consistent. The
new COM capabilities of Visual FoxPro 6.0 enable creating of
ADO recordsets, populating them with data, and passing them
to a variety of processes. This all goes to support the strategic
positioning of Visual FoxPro, a creator of middle-tier compo-
nents.

Just about everything in Visual FoxPro is an object, except for
reports, menus, and data. One of the biggest feature requests
from Visual FoxPro developers has been the ability to work with
data as a set of objects. Data objects provide several benefits,
including an enhanced event model and the ability to overcome
limitations of Visual FoxPro cursors. While many limitations are
gone, many benefits of Visual FoxPro cursors have been
retained. As you work with ADO, there’s good reason to think
are many similarities to Visual FoxPro; ADO is based on the
Visual FoxPro cursor engine. So, for those who have wanted
data objects in Visual FoxPro, the wait is over with ADO.

ADO is not a replacement for Visual FoxPro cursors. Rather,
Visual FoxPro cursors and ADO are complementary. When
used together, very powerful applications can result. The
following pages detail the ADO object model and the common
properties and methods you will work with, including:

Remote Data Services (RDS), technology which allows for the
streaming of data over the Internet via HTTP.
VFPCOM.DLL, which enables the handling of COM events in
Visual FoxPro.

ADO Integration into Visual FoxPro

This section has several comprehensive examples on strategies
you may employ when integrating ADO into your Visual FoxPro
Applications.

ADO Object Model
Connection Object
(Con’t, page 7)
Page 6

6