Re: ADO vs dbExpress



scoots987@xxxxxxxxx wrote:

Excuse me if this is a dumb question, but, what does unidirectional
curors give us? If we are using data-aware controls isn't that
providing a unidirectional connection to the database?

A unidirectional cursor is one that allows you to move forward through
the data but not backward. Internally most database servers only
provide unidirectional cursors. Data aware controls require a
bidirectional cursor, that is, the ability to scroll both forward and
backward through the rows.

If the server provides a unidirectional cursor and you need the ability
to scroll back and forth through the records then you have to buffer
the records that have been read in memory so you can go back to them by
scrolling backward through the in-memory cache. ADO has the caching
capability built in. When you use a client-side cursor with ADO all of
the records are loaded into memory on the local machine.

dbExpress is designed to be used with the DataSetProvider and
ClientDataSet components which provide the buffering and the ability to
move through the data in both directions.

The advantage of a unidirectional cursor is speed.

--
Bill Todd (TeamB)
.