C Language Development Kit/Snippets/Database/OpenDatabase

From OptiWiki

Jump to: navigation, search
Description Open an existing database file with a fixed record size.
int OpenDatabase( const char *filename, short recordsize, SDBFile *dbFile );
const char *filename

filename of the database to open.

short recordsize

the size of a fixed record in the database remember <CR> and <LF> characters.

SDBFile *dbFile dbFile is pointer to a structure that holds information about the database. The SDBFile structure is defined as followed:

typedef struct
    short  sRecSz;        // record size of database
    int    fd;            // real handle to the open file
    long   lCurrRecord;   // current record number
    long   lTotalRecords; // total amount of records
    int    bOpen;         // check to see if db is open or closed
TRUE Opening the file is successful.
FLASE Opening the file failed.
Remarks The declaration of the SDBFile needs to be static to make sure all items are initialized to 0. When the AddNewSearchkeyToIndex() functions returns FALSE the error code can be obtained by making a call to GetDBErrorCode() function.
#include "lib.h"
#include <stdio.h>
#include "database.h"  //Holds the database functions
void main( void )
    static SDBFile dbFile; // static initializes all items to 0
    printf("\fOpen database\n");
    if( !OpenDatabase("file1.txt", 32, &dbFile ))
        printf("Error code = %ld\n", GetDBErrorCode());
    printf("Close database\n");
    CloseDatabase( &dbFile );
    while( 1 )

Personal tools