Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic


Search index file for entry equal to target value.

Short Name



Low-Level index file function


LONG GetKey(FILNO keyno, pVOID target)


In V12 the file number typedef was formally changed from COUNT, a two-byte value to FILNO, a four-byte value. Refer to this link for compatibility details. Four Byte File Numbering

GetKey() searches index file number keyno for an entry equal to the key value pointed to by target.

See also Record Offsets Under Huge File Support.


If GetKey() finds an exact match for target, then it returns the data record position associated with the entry. If an exact match is not found, or if an error occurs, then GetKey() returns a zero, and the global variable uerr_cod is set to the appropriate value. See FairCom DB Error Codes for a complete listing of valid FairCom DB error values.


LONG recbyt;

FILNO keyno;

TEXT target[11];

scanf("%10s %d",target,&keyno);

if (!(recbyt = GetKey(keyno,target))) {

if (uerr_cod)

printf("\nError while searching.");


printf("\nKey value not found.");



printf("\nKey value is in record at position %ld.", recbyt);


FairCom DB will not pad the target key value. Ensure that target points to a properly formed key value. This function is not appropriate for indexes allowing duplicates. Use a function from below in that case.

See also

GetGTEKey(), GetGTKey(), GetLTEKey(), GetLTKey()