When using the ad Use Server server-side cursorlocation, responsibility for handling the data generated by a query lies with the database server.
My SQL itself does not support server-side cursors, so the data handling is actually done by the Connector / ODBC driver.
It should be noted that using a server-side cursor, and the ad Open Dynamic cursor in particular, will result in a significant performance loss, and should be avoided if at all possible.
In addition, certain functionality, such as the Record Count property of a Recordset and the Get Chunk and Appendchunk function for handling BLOB data, will fail or return abnormal results when used with a server-side cursor.
Recordset objects can also explicitly set a cursorlocation different than the connection objects cursorlocation as long as it is set before the recordset is open.
The two options available for this property are being the default property.
The following methods are available to a recordset using a static cursor and the ad Lock Optimistic lock type (more on lock types later): The static cursor will also show an accurate value for the Record Count property of your recordset, and supports the getchunk and appendchunk methods for dealing with BLOB data.
If you are having trouble with either of these problems, explicitly setting your connection's cursorlocation to should solve them.
On the Visual Basic side, I recommend you have service pack 5 installed for VB, which you can download here. In ADO, when we talk about cursors, we are essentially talking about a set of rows.
Additionally, the latest version of MDAC (Microsoft Data Access Components) should be installed, and can be found here (currently 2.7 SP1). When you execute a query that returns rows of data, such as .
One handy feature of the static cursor is the ability to fetch data asynchronously.
When data is fetched asynchronously., a separate thread is started to handle row retrieval, and your VB application can begin processing returned rows immediately.
If a different client makes changes to the underlying data after the query results are sent, the original client will receive no notification of the change.