NAME¶
PX_retrieve_record — Returns record in Paradox file
SYNOPSIS¶
#include <paradox.h>
pxval_t ** PX_retrieve_record(pxdoc_t *pxdoc, int recno)
DESCRIPTION¶
Returns the record with the given number in a Paradox file. The first record has
number 0, the last one has number_of_records-1.
If you are accessing several records, do it in ascending order, because this is
the most efficient way.
The return value is an array of field values. Each value is stored in a
structure like the following:
typedef struct px_val pxval_t;
struct px_val {
char isnull;
int type;
union {
long lval;
double dval;
struct {
char *val;
int len;
} str;
} value;
};
The element
isnull is set to 1 if the value is NULL otherwise it is set
to 0.
type is the type of the paradox field as defined in
paradox.h. A field value can be either a long int, a double or a
string, depending on the paradox field type. The paradox field types pxfShort,
pxfLong, pxfDate, pxfTime, pxfLogical, and pxfAutoInc are returned as long int
values. pxfTimestamp, pxfNumber, and pxfCurrency are returned as double values
and all remaining paradox field types are stored as strings with the length in
value.len. You can rely on strings being Null terminated. Blobs are
stored as string but are not guarented to be Null terminated.
The paradox field types pxfTimestamp, pxfTime, an pxfDate use an uncommon format
which can be converted into a string with
PX_timestamp2string(3),
PX_time2string(3), and
PX_date2string(3).
RETURN VALUE¶
Returns a pointer on success and NULL on failure.
SEE ALSO¶
PX_update_record(3),
PX_timestamp2string(3),
PX_time2string(3),
PX_date2string(3)
AUTHOR¶
This manual page was written by Uwe Steinmann uwe@steinmann.cx.