MDAC 2.5 SDK - OLE DB Programmer's Reference
Appendix C: OLE DB Properties


 

DBPROP_LITERALIDENTITY

Property group: Rowset

Property set: DBPROPSET_ROWSET

Column? N

Type: VT_BOOL

Typical R/W: R

Description: Literal Row Identity

Value Meaning
VARIANT_TRUE The consumer can perform a binary comparison of two row handles to determine whether they point to the same row.
VARIANT_FALSE The consumer must call IRowsetIdentity::IsSameRow to determine whether two row handles point to the same row.

If DBPROP_LITERALIDENTITY is set to VARIANT_FALSE, multiple different concurrently held row handles can represent the same row in the underlying data store. To the rowset, these generally appear as separate rows. Therefore, a change made (either in immediate mode or via IRowsetUpdate) to a retrieved column value (for example, a nondeferred column or a deferred column with DBPROP_CACHEDEFERRED set to VARIANT_TRUE) is not reflected when retrieving the row through a second row handle. Calling IRowsetRefresh::RefreshVisibleData, IRowsetUpdate::Undo, or IRowsetUpdate::Update affects only changes made through the specified row handle.


Whether the handle of a newly inserted row can be successfully compared to another handle is specified by the DBPROP_STRONGIDENTITY property.

For more information about row identity, see "Uniqueness of Rows in the Rowset" in Chapter 4, "Rowsets."