Dbgetr()
PURPOSE
get database record using record number
SYNOPSIS
#include "dbl.h" int dbgetr(dbf, recno, record, status) <input parameters> char *dbf; /* .DBF file descriptor */ long recno; /* Record number */ <output parameters> char *record; /* Address of the record buffer */ char *status; /* Status of record: ACTIVE or INACTIVE */
RETURN VALUE
This function returns 0 for success, or < 0 if an error occurs. See the section on return code values for a detailed list of return codes.
DESCRIPTION
The function reads a record and its status from a data file. ACTIVE status means the record is not deleted, INACTIVE means that the record has been marked deleted but still exists physically. A disk-write failure (d_WTFAIL) can be returned by the function because when this function is called, the buffer contents may be written onto the disk first and then a portion of data containing the requested record is transferred to the main memory.
EXAMPLE
This example reads the 128th record from a .DBF file, whose file descriptor is in "char *dbf" and prints its status on the standard outputs.
#include "dbl.h" char *dbf; /* .DBF file descriptor */ char record[100]; /* Record buffer */ char status; /* Record status */ int rc; /* Return code */ rc = dbgetr(dbf, 128, record, &status); if (rc == SUCCESS) { switch (status) { case ACTIVE: printf("record 128 is active \n"); break; case INACTIVE: printf("record 128 is marked deleted \n"); break; } } else { printf("error number %d \n", rc); exit (1); }
SEE ALSO
dbappend(), dbcreat(), dbdcache(), dbdelete(), dbflush(), dbgather(), dbgetf(), dbgetnr(), dbgetpr(), dbgetrk(), dbputr(), dbrecall(), dbrecout(), dbscatter(), dbupdr()