How to: Fetch and Update Rowsets (ODBC)

New: 14 April 2006

  1. Optionally, call SQLSetStmtAttr with SQL_ROW_ARRAY_SIZE to change the number of rows (R) in the rowset.

  2. Call SQLFetch or SQLFetchScroll to get a rowset.

  3. If bound columns are used, use the data values and data lengths now available in the bound column buffers for the rowset.

    If unbound columns are used, for each row call SQLSetPos with SQL_POSITION to set the cursor position; then, for each unbound column:

    • Call SQLGetData one or more times to get the data for unbound columns after the last bound column of the rowset. Calls to SQLGetData should be in order of increasing column number.
    • Call SQLGetData multiple times to get data from a text or image column.
  4. Set up any data-at-execution text or image columns.

  5. Call SQLSetPos or SQLBulkOperations to set the cursor position, refresh, update, delete, or add row(s) within the rowset.

    If data-at-execution text or image columns are used for an update or add operation, handle them.

  6. Optionally, execute a positioned UPDATE or DELETE statement, specifying the cursor name (available from SQLGetCursorName) and using a different statement handle on the same connection.

Other Resources

Using Cursors (ODBC)
Bookmarking Rows
Changing Rows with Positioned Operations
Scrolling and Retrieving Rows

Help and Information

Getting SQL Server 2005 Assistance

Community Additions