home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / database / db12 / stest.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-11-15  |  2.7 KB  |  113 lines

  1. /*
  2.  *    stest
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include "db.h"
  7.  
  8. main()
  9. {
  10.         DATA_SET ds;
  11.         char     data[50];
  12.         int      i;
  13.  
  14.     printf("stest - Test sequential file routines\n\n");
  15.     screate();
  16.         printf("...test file created...\n\n");
  17.  
  18.     ds = db_open("", "stest.dat");
  19.         if (db_error)
  20.         {       printf("Open Failure - %s\n", db_error_msg(db_error));
  21.                 exit(0);
  22.         }
  23.  
  24.         printf("...adding 100 records...\n");
  25.         for (i=1; i<100; i++)
  26.         {       printf("%d\n",i);
  27.                 sprintf(data,"%05d",i);
  28.                 db_add(ds, data);
  29.                 if (db_error)
  30.                 {       printf("Add Failure - %s\n", db_error_msg(db_error));
  31.                         exit(0);
  32.                 }
  33.         }
  34.         printf("...add complete...\n\n");
  35.  
  36.     printf("...read forward...\n");
  37.     db_read_first(ds, data);
  38.     while (!db_error)
  39.     {    printf("%5.5s\n", data);
  40.         db_read_next(ds, data);
  41.     }
  42.     printf("...read forward complete...\n\n");
  43.  
  44.         printf("...read reverse...\n");
  45.     db_read_last(ds, data);
  46.     while (!db_error)
  47.     {    printf("%5.5s\n", data);
  48.         db_read_prev(ds, data);
  49.     }
  50.     printf("...read reverse complete...\n\n");
  51.  
  52.     printf("...delete forward...\n");
  53.     db_read_first(ds, data);
  54.     while (!db_error)
  55.     {    printf("%5.5s\n", data);
  56.         db_delete(ds);
  57.         db_read_next(ds, data);
  58.     }
  59.     printf("...delete forward complete...\n\n");
  60.  
  61.         printf("...adding 100 records (again) ...\n");
  62.         for (i=1; i<100; i++)
  63.         {       printf("%d\n",i);
  64.                 sprintf(data,"%05d",i);
  65.                 db_add(ds, data);
  66.                 if (db_error)
  67.                 {       printf("Add Failure - %s\n", db_error_msg(db_error));
  68.                         exit(0);
  69.                 }
  70.         }
  71.         printf("...add complete...\n\n");
  72.  
  73.     printf("...delete reverse...\n");
  74.     db_read_last(ds, data);
  75.     while (!db_error)
  76.     {    printf("%5.5s\n", data);
  77.         db_delete(ds);
  78.         db_read_prev(ds, data);
  79.     }
  80.     printf("...delete forward complete...\n\n");
  81.  
  82.         db_close(ds);
  83.     unlink("stest.dat");
  84. }
  85.  
  86. /*
  87.  *    screate - create our test sequential file
  88.  */
  89.  
  90. screate()
  91. {
  92.         FILE_HDR fh;
  93.         DATA_SET ds;
  94.         char    *calloc();
  95.  
  96.         fh = (FILE_HDR) calloc(1, sizeof(struct db_file_hdr));
  97.  
  98.     fh->fh_file_type    = DB_SEQ;
  99.         fh->fh_data_size    =  50;
  100.  
  101.     ds = db_create("", "stest.dat", fh);
  102.         if (db_error)
  103.         {       printf("Create Failure - %s\n", db_error_msg(db_error));
  104.                 exit(0);
  105.         }
  106.  
  107.         db_close(ds);
  108.         if (db_error)
  109.         {       printf("Close Failure - %s\n", db_error_msg(db_error));
  110.                 exit(0);
  111.         }
  112. }
  113.