C Language Development Kit/Snippets/Database/CreateDatabase

From OptiWiki

Jump to: navigation, search
Description Create a new database file, if the filename exists the file is truncated.
int CreateDatabase( const char *filename, short recordsize, SDBFile *dbFile );
const char *filename

filename of the database to create.

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 Creating the file is successful.
FLASE Creating the file failed.
Remarks The declaration of the SDBFile needs to be static to make sure all items are initialized to 0.

When the CreateDatabase() functions returns FALSE the error code can be obtained by making a call to GetDBErrorCode() function.

If the database with the filename already exists the database is truncated.

#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( !CreateDatabase("file1.txt", 32, &dbFile ))
        printf("Error code = %ld\n", GetDBErrorCode());
    printf("Write a record\n");
    if( !WriteRecord(&dbFile,(char*)"123456789012345678901234567890\r\n",WRITE_APPEND))
        printf("Error code = %ld\n", GetDBErrorCode());
    printf("Close database\n");
    CloseDatabase( &dbFile );
    while( 1 )

Personal tools