Rowset Properties (OLE DB)

The DBPROPSET_ROWSET property set contains the following properties. All these properties are in the Rowset property group. Additional properties are defined in DBPROPSET_SSCE_ROWSET.

Property ID

Description

DBPROP_ABORTPRESERVE

  • Type: VT_BOOL

  • Typical R/W: R only

  • Description: Preserve on Abort

  • Notes: For this provider, the value is always VARIANT_FALSE. This indicates that, after aborting a transaction, the only operations allowed on a rowset are to release row and accessor handles and to release the rowset.

DBPROP_ACCESSORDER

  • Type: VT_I4

  • R/W: R only

  • Description: Access Order

  • Notes: For this provider, the value is always DBPROPVAL_AO_RANDOM.

DBPROP_BLOCKINGSTORAGEOBJECTS

  • Type: VT_BOOL

  • Typical R/W: R only

  • Description: Blocking Storage Objects

  • Notes: For this provider, the value is always VARIANT_TRUE.

DBPROP_BOOKMARKS

  • Type: VT_BOOL

  • Typical R/W: R/W

  • Description: Use Bookmarks

  • Notes: Specifies whether the rowset supports bookmarks. The provider supports the following values:

    • VARIANT_TRUE, which indicates that the rowset supports bookmarks. Column 0 is the bookmark for the rows. Getting this column obtains a bookmark value. This can be used to reposition to the row.

    • VARIANT_FALSE, which indicates that the rowset does not support bookmarks. The rowset is sequential, and the values of the DBPROP_LITERALBOOKMARKS and DBPROP_ORDEREDBOOKMARKS properties are ignored.

DBPROP_BOOKMARKTYPE

  • Type: VT_UI4

  • Typical R/W: R only

  • Description: Bookmark Type

  • Notes: Specifies the bookmark type supported by the rowset. For this provider, the value is always DBPROPVAL_BMK_NUMERIC. This indicates that the bookmark type is numeric. Numeric bookmarks are based on a row's properties and are not dependent on the values of the row's columns. For example, a numeric bookmark can be based on the absolute position of the row within the rowset, or on a row ID that the storage engine assigned to a row when it was created. Modifying the row's columns does not change the validity of numeric bookmarks.

    Bookmarks are of type DBTYPE_UI4. In versions prior to SQL Server Compact, bookmarks were of type DBTYPE_I4

DBPROP_CANFETCHBACKWARDS

  • Type: VT_BOOL

  • Typical R/W: R/W

  • Description: Fetch Backward

  • Notes: Specifies whether the rowset can fetch backward. The provider supports the following values:

    • VARIANT_TRUE, which indicates that cRows in IRowset::GetNextRows can be negative. When it is negative, this method fetches rows backward from the specified row.

    • VARIANT_FALSE, which indicates that cRows must be nonnegative.

DBPROP_CANHOLDROWS

  • Type: VT_BOOL

  • Typical R/W: R

  • Description: Hold Rows

  • Notes: For this provider, this property is always VARIANT_FALSE.

DBPROP_CANSCROLLBACKWARDS

  • Type: VT_BOOL

  • Typical R/W: R

  • Description: Scroll Backward

  • Notes: For this provider, this property is always VARIANT_FALSE. This indicates that IRowsOffset must be nonnegative.

DBPROP_CHANGEINSERTEDROWS

  • Type: VT_BOOL

  • Typical R/W: R

  • Description: Change Inserted Rows

  • Notes: For this provider, the value is always VARIANT_TRUE. This indicates that the consumer can call IRowsetChange::DeleteRows or IRowsetChange::SetData for newly inserted rows. A newly inserted row is defined as a row for which the insertion has been transmitted to the data storeinstead of a pending insert row.

DBPROP_COMMITPRESERVE

  • Type: VT_BOOL

  • Typical R/W: R only

  • Description: Preserve On Commit

  • Notes: For this provider, the value is always VARIANT_TRUE. This indicates that after a commit that preserves, the rowset remains active. That is, you can fetch new rows, update, delete, and insert rows, and so on.

DBPROP_DEFERRED

  • Type: VT_BOOL

  • Typical R/W: R only

  • Description: Defer Column

  • Notes: For this provider, the value is always VARIANT_TRUE. This indicates that the data in the column is not fetched until an accessor is used on the column.

DBPROP_DELAYSTORAGEOBJECTS

  • Type: VT_BOOL

  • Typical R/W: R only

  • Description: Delay Storage Object Updates

  • Notes: For this provider, the value is always VARIANT_TRUE. This indicates that storage objects are also used in delayed update mode.

DBPROP_IAccessor

DBPROP_IColumnsInfo

DBPROP_IConvertType

DBPROP_IRowset

DBPROP_IRowsetChange

DBPROP_IRowsetInfo

DBPROP_IRowsetUpdate

DBPROP_ISupportErrorInfo

DBPROP_IRowsetIndex

DBPROP_IRowsetCurrentIndex

DBPROP_IRowsetBookmark

  • Type: VT_BOOL

  • Typical R/W: R/W, except as noted below.

  • Notes: If the value of any one of these properties is set to VARIANT_TRUE, the rowset supports the specified interface. These properties are primarily used to request interfaces through ICommandProperties::SetProperties. The following properties are read-only and are always VARIANT_TRUE:

    • DBPROP_IAccessor

    • DBPROP_IColumnsInfo

    • BPROP_IConvertType

    • DBPROP_IRowset

    • DBPROP_IRowsetInfo

    • DBPROP_ISupportErrorInfo

    Setting DBPROP_IRowsetUpdate to VARIANT_TRUE automatically sets DBPROP_IRowsetChange to VARIANT_TRUE. Setting DBPROP_IRowsetCurrentIndex to VARIANT_TRUE automatically sets DBPROP_IRowsetIndex to VARIANT_TRUE.

DBPROP_ILockBytes

DBPROP_ISequentialStream

  • Type: VT_BOOL

  • Typical R/W: R/W

  • Notes: If the value of this property is set to VARIANT_TRUE, the specified column is treated as a storage object that reveals the specified interface.

DBPROP_IMMOBILEROWS

  • Type: VT_BOOL

  • Typical R/W: R only

  • Description: Immobile Rows

  • Notes: For this provider, the value is always VARIANT_FALSE. This indicates that, if the rowset is ordered, inserted rows and updated rows (where one or more of the columns in the ordering criteria are updated) follow the ordering criteria of the rowset. If the rowset is not ordered, inserted rows are not guaranteed to appear in a determinate position, and the position of updated rows is not changed. This property is meaningful only if DBPROP_OWNINSERT is VARIANT_TRUE.

DBPROP_LOCKMODE

  • TYPE: VT_I4

  • R/W: R

  • Description: Lock Mode

  • Notes: For this provider, the value is always DBPROPVAL_LM_SINGLEROW.

DBPROP_MAXOPENROWS

  • Type: VT_I4

  • Typical R/W: R

  • Description: Maximum Open Rows

  • Notes: This value is 1 for SQL Server Compact.

DBPROP_MAXROWS

  • Type: VT_I4

  • Typical R/W: R only

  • Description: Maximum Rows

  • Notes: Specifies the maximum number of rows that can be returned in a rowset. If there is no limit, this value is 0. For this provider, the value is always 0.

DBPROP_OTHERINSERT

  • Type: VT_BOOL

  • Typical R/W: R/W

  • Description: Other's Insert.

  • Notes: Base Tables are True; others are False.

DBPROP_OTHERUPDATEDELETE

  • Type: VT_BOOL

  • Typical R/W: R/W

  • Description: Others' Changes Visible

  • Notes: Specifies either of the following values:

    • VARIANT_TRUE, which indicates that the rowset can see updates and deletes made by a user other than a consumer of the rowset. For example, suppose a user other than a consumer of the rowset updates the data underlying a row or deletes the row. If the row is released entirely, any consumer of the rowset will see that change the next time it fetches the row. This includes updates and deletes made by other parties in the same transaction and as updates and deletes by parties outside the transaction. The transaction isolation level does not affect the ability of the rowset to see updates or deletes by other parties in the same transaction, such as other rowsets in the same session. However, it does restrict the ability of the rowset to see updates or deletes by parties outside the transaction.

    • VARIANT_FALSE, which indicates that the rowset cannot see updates and deletes by others.

DBPROP_OWNINSERT

  • Type: VT_BOOL

  • Typical R/W: R/W

  • Description: Own Inserts Visible

DBPROP_OWNUPDATEDELETE

  • Type: VT_BOOL

  • Typical R/W: R/W

  • Description: Own Changes Visible

DBPROP_QUICKRESTART

  • Type: VT_BOOL

  • Typical R/W: R / W

  • Description: Quick Restart

DBPROP_REMOVEDELETED

  • Type: VT_BOOL

  • Typical R/W: R

  • Description: Remove Deleted Rows

  • Notes: For this provider, the value is always VARIANT_TRUE.

DBPROP_REPORTMULTIPLECHANGES

  • Type: VT_BOOL

  • Typical R/W: R only

  • Description: Report Multiple Changes

  • Notes: For this provider, the value is always VARIANT_TRUE.

DBPROP_ROWTHREADMODEL

  • Type: VT_I4

  • Typical R/W: R only

  • Description: Row Threading Model Specifies the threading model of the rowsets generated by the command. For this provider, the value is always DBPROPVAL_RT_SINGLETHREAD.

DBPROP_SERVERDATAONINSERT

  • TYPE: VT_BOOL

  • R/W: R

  • Description: Server Data on Insert

  • Notes: For this provider, the value is always VARIANT_TRUE.

DBPROP_UPDATABILITY

  • Type: VT_I4

  • Typical R/W: R/W

  • Description: Updatability