From daf17154bf13139d9375f48525d19d6aaba08155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 2 Aug 2014 08:43:31 +0200 Subject: Imported Upstream version 3.1.2 --- html/xbc3.htm | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100755 html/xbc3.htm (limited to 'html/xbc3.htm') diff --git a/html/xbc3.htm b/html/xbc3.htm new file mode 100755 index 0000000..b944a1b --- /dev/null +++ b/html/xbc3.htm @@ -0,0 +1,91 @@ + + +Xbase DBMS Chapter 3 + +

Fields and Strings

+

Chapter Updated 8/20/03


+ +

+The title of this chapter almost sounds like a popular North American +magazine called Field and Stream. The difference between this chapter and +that magazine is there are no dead animal carcuses or fishing lures in +this chapter. For those you will need to get a copy of Field and Stream. + +

+The main objective of this chapter is to provide information regarding the +basic concepts of manipulating data via the field methods.

+ +Field names can be up to ten bytes in length and can contain characters, numbers +or special characters in the name. The field methods are used to manipulate +the data in a record of a data file. There are several types of fields.

+ + + + + +

Field Types

TypeSizeAllowable ValuesSchema Value +
Numeric0 - 17(include sign and decimal point+ - . 0 through 9XB_NUMERIC_FLD +
Character0 - 254AnythingXB_CHAR_FLD +
Date8CCYYMMDDXB_DATE_FLD +
Floating Point0 - 17 (includes sign and decimal point+ - . 0 through 9XB_FLOAT_FLD +
Logical1? Y y N n T t F f (? - uninitialized)XB_LOGICAL_FLD +
MemoFixed length portion - 10
Variable length 0 - 32760 +
Type III - Text
Type IV - Anything
XB_MEMO_FLD +
+ +

+Field names, types and lengths are defined when a data file is created. +After the file is created, the field characteristics can not be changed. To +change field characteristics, a new database must be defined with the new +field requirements.

+ +

Memo Fields

+ +Memo fields are variable length data fields which are stored in two parts. +This first part is a ten byte field which is stored +in the fixed length record of the .DBF file. The variable data is stored in +a seperate .DBT file in 512 byte blocks. The ten byte field in the fixed +length portion of the record points to a .DBT block number.

+ +There are two versions of memo data files type III and type IV. Type IV +is more advanced in that released space can be reused and it also +supports BLOB data. The type III file is older technology, does not +support dynamic space reclamation and only supports string data. +See method xbDbf::SetVersion for controlling which version type you are +using. + +

+To utilize memo fields, the application program must allocate a buffer +which is large enough to handle the memo data.

+ +

Fields and Field Numbers

+ +The Xbase routines can access field data via using field names or field +numbers. Field numbers are numbered 0-n where the first field in a datafile +is field 0 going through the last field n. Accessing fields by number is +more efficient than accessing by name.

+ +

Record Schema

+ +The record schema of a file can be found in the documentation for method +CreateDatabase in the Database Methods chapter, or view example program +sample1.cpp.

+ +

Strings

+ +Beginning with Release 1.8.0a, Xbase includes support for a string class +xbString. The original thinking was not to include a string +class in the library, and encourage users to use the string class +native to the user's compiler. But as C++ does not have a native way +to handle strings, and there is not a standard string class across C++ +compilers, it was decided to include a lightweight string class with the +library. In some cases this is redundant, but it is portable. +

+The xbString class interface was derived from the Draft Standard C++ +Library by P.J. Plauger and modified. If you are familiar with +other string classes, this one should feel similar. +

+
+


+ + -- cgit v1.2.3