Rowset Size
Other applications, such as reports, tend to set the rowset size to the
largest number of rows the application can reasonably handle
Rowset size is set by a call to SQLSetStmtAttr with an Attribute argument of SQL_ATTR_ROW_ARRAY_SIZE. The application can change the rowset
size, bind new rowset buffers (by calling SQLBindCol or specifying a binding offset) even after rows have been fetched, or both.
The implications of changing the rowset size depend on the function:
SQLFetch and SQLFetchScroll use the rowset size at the time of the call to determine how many rows to
fetch. Note, however, that SQLFetchScroll with a FetchOrientation of SQL_FETCH_NEXT increments the cursor based on the rowset of the previous
fetch, and then fetches a rowset based on the current rowset size.
SQLSetPos uses the rowset size that is in effect as of the preceding call to SQLFetch or SQLFetchScroll, because SQLSetPos operates on a rowset that has already been set. SQLSetPos will also pick up the new rowset size if SQLBulkOperations has been called after the rowset size was changed.
SQLBulkOperations uses the rowset size in effect at the time of the call, since it performs
operations on a table independent of any fetched rowset.