NextInSet Read the next data record in the set defined by target. Short Name NXTSET() Type ISAM function Declaration COUNT NextInSet(COUNT keyno, pVOID recptr) Description NextInSet() reads the next data record in the set of data records whose keys match the set created by an earlier set function call. If successful, this record becomes the current ISAM record for the associated data file. If an error occurs or no key value matches the target, the current ISAM record is not updated, and no key value set is defined. If the data file has variable-length records, only the fixed-length portion, defined by dreclen in the original call to CreateIFile(), is actually read into the buffer pointed to by recptr. If you wish to read the entire variable-length record into the same or a different buffer, issue a call to ReReadVRecord() after the call to NextInSet(). Note that ReReadVRecord() requires the size of the buffer area so that it can check if sufficient space is available. Notice that you do not directly identify the data file number involved. The ISAM parameter file described in “c-tree Plus Error Codes” of the c-tree Plus Programmer’s Reference Guide contains the correspondence between the index file number and the associated data file. Return
See c-tree Plus Error Codes for a complete listing of valid c-tree Plus error values. Example COUNT keyfil; TEXT target[24],recbuf[320];
scanf("%23s",target);
FirstInSet(keyfil,target,recbuf,strlen(target)); while (isam_err == NO_ERROR) {
process_data(); NextInSet(keyfil,recbuf); } Limitations No check is made to determine if recptr points to a region sufficiently large to accept a data record. If the area is too small, either code or data will be clobbered. See also FirstInSet(), PreviousInSet(), LastInSet(), PositionSet(), ChangeSet(), CreateIFile(), ReReadVRecord(), TransformKey() |
||||||||||||||||||||||||