|
<< Click to Display Table of Contents >> CURProps (cursor properties) |
![]() ![]()
|
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: |
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. |