logicalSubType
A database independent name indicating the data subtype of the value stored in a field.
Property of
CalcField, DbfField, Field, PdxField, SqlField
Description
Each database engine has its own set of data types that are referred to as its native data types. A data type in one database engine may be physically identical to a data type used by another database engine, but have a different name.
Mapping these native types to a set of database independent (logical) data types allows physically identical data types to have the same logicalType even when their native data types differ.
For example, the logical type for both a Paradox table’s “Alpha” field and a dBASE table’s “Character” field is “ZSTRING”. This indicates they are both character strings with a null byte at the end of the string.
Some logicalTypes contain sub groupings, called logicalSubTypes, which specify further the type of data that can be stored in each field type. It may be necessary, therefore, to also compare logicalSubTypes when checking for data type compatibility.
For example, a BLOB logicalType may also contain one of the following logicalSubTypes:
MEMO |
BINARY |
FMTMEMO |
OLEOBJ |
GRAPHIC |
DBSOLEOBJ |
TYPEDBINARY |
ACCOLEOBJ |
The following table lists possible values for the logicalSubType property:
logicalType |
logicalSubType |
Description |
FLOAT |
MONEY |
Money |
BLOB |
MEMO |
Text memo |
|
BINARY |
Binary data |
|
FMTMEMO |
Formatted text |
|
OLEOBJ |
OLE object (Paradox) |
|
GRAPHIC |
Graphics object |
|
DBSOLEOBJ |
dBASE OLE object |
|
TYPEDBINARY |
Typed binary data |
|
ACCOLEOBJ |
Access OLE object |
ZSTRING |
PASSWORD |
Password |
|
FIXED |
CHAR type |
|
UNICODE |
Unicode |
INT32 |
AUTOINC |
Auto Increment value |
Tip: Using the logicalType and logicalSubType properties, you could write a dBASE Plus program to check whether data from a table containing a DbfField data type can be copied to a table containing a PdxField data type.