CURProps (cursor properties)

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

CURProps (cursor properties)

Return to chapter overview

The cursor properties (CURProps) structure describes the most commonly used cursor properties, using the following fields:

Field

Type

Description

szName

DBITBLNAME

Specifies the table name.

iFNameSize

UINT16

Specifies the size of the buffer needed to retrieve full table name (including extension and path, if applicable).

szTableType

DBINAME

Specifies the driver type.

iFields

UINT16

Specifies the number of fields in the table. The client must allocate a buffer whose size is: [iFields * sizeof(FLDDesc)] in order to get the field descriptors for the table.

iRecSize

UINT16

Specifies the record size, depending on the xltMODE for the cursor. If the xltMODE is xltFIELD, iRecSize specifies the logical record size. In other words, it is the size of the record if all fields were represented as BDE logical types. If the xltMODE is xltNONE, iRecSize specifies the physical record size.

iRecBufSize

UINT16

Specifies the physical record size. This is the size of the record buffer that the client must allocate in order to retrieve the records using DbiGetNextRecord, DbiGetPriorRecord, and other functions. This size can change if DbiSetFieldMap is called.

iKeySize

UINT16

Specifies the key size of the current active index (if any). This is the size of the key buffer that the client must allocate in order to retrieve a key using DbiExtractKey. This size changes if DbiSwitchToIndex is called.

iIndexes

UINT16

Specifies the number of currently open indexes for this cursor. The client can call DbiGetIndexDesc with iIndexSeqNo set from 1 to iIndexes, to have all the index descriptors returned. The client could also allocate a buffer whose size is [iIndexes * sizeof(IDXDesc)] and have all the index descriptors returned by calling DbiGetIndexDescs.

iValChecks

UINT16

Specifies the number of validity checks existing for this table.

iRefIntChecks

UINT16

Specifies the number of referential integrity constraints existing for this table.

iBookMarkSize

UINT16

Specifies the size of the bookmark. Bookmarks are always allocated by the client before DbiGetBookMark is called. Note that the size of the bookmark could change if DbiSwitchToIndex is called.

bBookMarkStable

BOOL

TRUE, if this cursor supports stable bookmarks. Stable bookmarks are those that remain unchanged after another user has modified the table. For example, this value is TRUE for Paradox tables having a primary key, but FALSE for Paradox heap tables.

eOpenMode

DBIOpenMode

Specifies the open mode that this cursor was opened with.

eShareMode

DBIShareMode

Specifies the share mode that this cursor was opened with:

bIndexed

BOOL

This value is TRUE if there is a current active index for this cursor. In other words, it is TRUE if there is a non-default order associated with this cursor.

iSeqNums

INT16

This is an enumerated value which is interpreted as follows:
1: This cursor supports the sequence number concept (Paradox).
0: This cursor supports the record number concept (dBASE and FoxPro).
< 0 (-1, -2. . .): None (SQL and Access)

bSoftDeletes

BOOL

This value is set to TRUE if this cursor supports soft deletes (dBASE and FoxPro only).

bDeletedOn

BOOL

This value is set to TRUE if the curSOFTDELETEON property is TRUE. This field makes sense only if the cursor supports the soft delete concept. If TRUE, deleted records can be seen while using this cursor (dBASE and FoxPro only).

iRefRange

UINT16

Not currently used.

exltMode

XLTMode

Specifies the value of the translate mode property for this cursor.

iRestrVersion

UINT16

Specifies the restructure version number for the table. (Paradox only.)

bUniDirectional

BOOL

This value is set to TRUE if this cursor is unidirectional (SQL only.)

eprvRights

PRVType

Specifies an enumerated value that gives the table-level rights for the user who opened the table.

iFmlRights

UINT16

Reserved.

iPasswords

UINT16

Specifies the number of auxiliary passwords for this table. (Paradox only).

iCodePage

UINT16

Specifies the code page associated with the table. If the code page is unknown, the value is 0.

bProtected

BOOL

This value is set to TRUE if the table is protected by a password.

iTblLevel

UINT16

Specifies the table level. This value is driver dependent.

szLangDriver

DBINAME

Specifies the name of the language driver associated with the table.

bFieldMap

BOOL

This value is set to TRUE if a field map is active for this cursor.

iBlockSize

UINT16

Specifies the value of the BLOCKSIZE for the table, in bytes.

bStrictRefInt

BOOL

This value applies only to Paradox for DOS tables and the Paradox engine. If TRUE, it means that a referential integrity check has been specified and that the STRICT bit is set in the header, which makes the table inaccessible using Paradox for DOS.

iFilters

UINT16

Specifies the number of filters currently on the cursor.

bTempTable

BOOL

TRUE, if the cursor is on a temporary table. For queries, this means the result set is canned, rather than live. This field can be examined to determine whether the requested preference for LIVENESS in the DbiSetProp call were honored.