SQLGetInfo in the Cursor Library

The cursor library returns values for the following values of InfoType (| represents a bitwise OR); for all other values of InfoType, it calls SQLGetInfo in the driver:

InfoType Returned value
SQL_BOOKMARK_
PERSISTENCE
SQL_BP_SCROLL
SQL_DYNAMIC_CURSOR_
ATTRIBUTES1
0
SQL_DYNAMIC_CURSOR_
ATTRIBUTES2
0
SQL_FETCH_DIRECTION [1] SQL_FD_FETCH_ABSOLUTE |
SQL_FD_FETCH_FIRST |
SQL_FD_FETCH_LAST |
SQL_FD_FETCH_NEXT |
SQL_FD_FETCH_PRIOR |
SQL_FD_FETCH_RELATIVE |
SQL_FD_FETCH_BOOKMARK
SQL_FORWARD_ONLY_CURSOR_
ATTRIBUTES1
SQL_CA1_NEXT |
SQL_CA1_ABSOLUTE |
SQL_CA1_RELATIVE |
SQL_CA1_LOCK_NO_CHANGE |
SQL_CA1_POS_POSITION |
SQL_CA1_POSITIONED_DELETE |
SQL_CA1_POSITIONED_UPDATE |
SQL_CA1_SELECT_FOR_UPDATE
SQL_FORWARD_ONLY_CURSOR_
ATTRIBUTES2
SQL_CA2_READ_ONLY_CONCUR |
SQL_CA2_OPT_VALUES_
CONCURRENCY |
SQL_CA2_SENSITIVITY_UPDATES
SQL_GETDATA_EXTENSIONS SQL_GD_BLOCK | any values returned by the driver

Note When data is retrieved with SQLFetchScroll, SQLGetData supports the functionality specified with the SQL_GD_ANY_COLUMN and SQL_GD_BOUND bitmasks.

SQL_KEYSET_DRIVEN_CURSOR_
ATTRIBUTES1
0
SQL_KEYSET_DRIVEN_CURSOR_
ATTRIBUTES2
0
SQL_LOCK_TYPES [1] SQL_LCK_NO_CHANGE
SQL_STATIC_CURSOR_ATTRIBUTES1 SQL_CA1_NEXT |
SQL_CA1_ABSOLUTE |
SQL_CA1_RELATIVE |
SQL_CA1_BOOKMARK |
SQL_CA1_LOCK_NO_CHANGE |
SQL_CA1_POS_POSITION |
SQL_CA1_POSITIONED_DELETE |
SQL_CA1_POSITIONED_UPDATE |
SQL_CA1_SELECT_FOR_UPDATE
SQL_STATIC_CURSOR_ATTRIBUTES2 SQL_CA2_READ_ONLY_CONCUR |
SQL_CA2_OPT_VALUES_
CONCURRENCY |
SQL_CA2_SENSITIVITY_UPDATES
SQL_POS_OPERATIONS [1] SQL_POS_POSITION
SQL_POSITIONED_STATEMENTS [1] SQL_PS_POSITIONED_DELETE |
SQL_PS_POSITIONED_UPDATE |
SQL_PS_SELECT_FOR_UPDATE
SQL_ROW_UPDATES “Y”
SQL_SCROLL_CONCURRENCY [1] SQL_SCCO_READ_ONLY |
SQL_SCCO_OPT_VALUES
SQL_SCROLL_OPTIONS SQL_SO_FORWARD_ONLY |
SQL_SO_STATIC
SQL_STATIC_SENSITIVITY [1] SQL_SS_UPDATES

[1]  Used only when the cursor library is used with an ODBC 2.x driver.

Important The cursor library implements the same cursor behavior when transactions are committed or rolled back as the data source. That is, committing or rolling back a transaction, either by calling SQLEndTran or by using the SQL_ATTR_AUTOCOMMIT connection attribute, can cause the data source to delete the access plans and close the cursors for all statements on a connection. For more information, see the SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR information types in SQLGetInfo.