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.
Syntax
int CreateDatabase( const char *filename, short recordsize, SDBFile *dbFile );
Arguments
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
}SDBFile;
Returns
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.


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

Example
#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 )
        idle();
}


Views
Personal tools