home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cppsql.zip / SQL.ZIP / EXAMPLE.CPP next >
C/C++ Source or Header  |  1992-09-14  |  5KB  |  179 lines

  1. #include "stdio.h"
  2. #include "stdlib.h"
  3. #include "stdarg.h"
  4. #include "string.h"
  5. #include "ctype.h"
  6.  
  7. // :H1 USER-DEFINED INCLUDE FILES.  SELECTIVITY USED WHERE POSSIBLE.
  8. #include "portable.h"
  9. #include "sql.hpp"
  10. #include "sqltab.hpp"
  11.  
  12. // This code is used to test the sql object.
  13. VOID main ()
  14.   {
  15.    SHORT rc, id;
  16.    SQL database ("test");       // create sql object
  17.    Table table ("FORMAT", "%d %ld %4s", "SHORTVAR,LONGVAR,STRINGVAR");
  18.    SHORT shortvar;
  19.    LONG  longvar;
  20.    CHAR  stringvar [5];
  21.  
  22.     // if error opening database
  23.     if ( (rc = database.Open ()) != 0 )
  24.       {
  25.         // if database create error
  26.         if ( (rc = database.Create ("This is a test database")) != 0 )
  27.           {
  28.             printf ("Error creating database, rc = %d\n", rc);
  29.             exit (-1);
  30.           }
  31.  
  32.         // if open database error
  33.         if ( (rc = database.Open ()) != 0 )
  34.           {
  35.             printf ("Error opening database, rc = %d\n", rc);
  36.             exit (-1);
  37.           }
  38.  
  39.         // if create table error
  40.         if ( (rc = table.Create ()) != 0 )
  41.           {
  42.             printf ("Error creating table, rc = %d\n", rc);
  43.             database.Close ();
  44.             exit (-1);
  45.           }
  46.         if ( (rc = table.Index ("%d %*ld %*4s")) != 0 )
  47.           {
  48.             printf ("Error creating index, rc = %d\n", rc);
  49.             database.Close ();
  50.             exit (-1);
  51.           }
  52.       }
  53.  
  54.     // if insert data error
  55.     if ( (rc = table.Insert (3, 1, 2L, "ABC" )) != 0 )
  56.       {
  57.         printf ("Error inserting data, rc = %d\n", rc);
  58.         database.Close ();
  59.         exit (-1);
  60.       }
  61.  
  62.     // if insert data error
  63.     if ( (rc = table.Insert (3, 3, 4L, "DEF")) != 0 )
  64.       {
  65.         printf ("Error inserting data, rc = %d\n", rc);
  66.         database.Close ();
  67.         exit (-1);
  68.       }
  69.  
  70.     // if find data error
  71.     if ( (rc = table.Search (TRUE, "%d %*d %*4s",
  72.                &shortvar, &longvar, &stringvar, 1)) != 0)
  73.       {
  74.         printf ("Error on table search, rc = %d\n", rc);
  75.         database.Close ();
  76.         exit (-1);
  77.       }
  78.  
  79.     // if find data error
  80.     if (shortvar != 1 || longvar != 2 || (strcmp (stringvar, "ABC")!= 0))
  81.       {
  82.         printf ("Error on table search, incorrect record\n");
  83.         database.Close ();
  84.         exit (-1);
  85.       }
  86.  
  87.     // if find data error
  88.     if ( (rc = table.Search (FALSE, "%d %*d %*4s",
  89.                &shortvar, &longvar, &stringvar, 1)) == 0)
  90.       {
  91.         printf ("Error on table search, rc = %d\n", rc);
  92.         database.Close ();
  93.         exit (-1);
  94.       }
  95.  
  96.     // if find data error
  97.     if ( (rc = table.Search (TRUE, "%*d %*d %2s",
  98.                &shortvar, &longvar, &stringvar, "AB")) != 0)
  99.       {
  100.         printf ("Error on partial string search, rc = %d\n", rc);
  101.         database.Close ();
  102.         exit (-1);
  103.       }
  104.  
  105.     // if find data error
  106.     if (shortvar != 1 || longvar != 2 || (strcmp (stringvar, "ABC")!= 0))
  107.       {
  108.         printf ("Error on partial string search, incorrect record\n");
  109.         database.Close ();
  110.         exit (-1);
  111.       }
  112.  
  113.     // if find data error
  114.     if ( (rc = table.Search (TRUE, "%*d %*d %*2s",
  115.                &shortvar, &longvar, &stringvar)) != 0)
  116.       {
  117.         printf ("Error on search for all rows, rc = %d\n", rc);
  118.         database.Close ();
  119.         exit (-1);
  120.       }
  121.  
  122.     // if find data error
  123.     if (shortvar != 1 || longvar != 2 || (strcmp (stringvar, "ABC")!= 0))
  124.       {
  125.         printf ("Error on search for all rows, incorrect record\n");
  126.         database.Close ();
  127.         exit (-1);
  128.       }
  129.  
  130.     // if delete data error
  131.     if ( (rc = table.DeleteCurrent ()) != 0)
  132.       {
  133.         printf ("Error on delete current row, rc = %d\n", rc);
  134.         database.Close ();
  135.         exit (-1);
  136.       }
  137.  
  138.     // if delete data error
  139.     if ( (rc = table.Delete ("%d %*d %*4s", 3)) != 0)
  140.       {
  141.         printf ("Error on table row delete, rc = %d\n", rc);
  142.         database.Close ();
  143.         exit (-1);
  144.       }
  145.  
  146.     // if commit data error
  147.     if ( (rc = database.Commit ()) != 0 )
  148.       {
  149.         printf ("Error commiting data, rc = %d\n", rc);
  150.         database.Close ();
  151.         exit (-1);
  152.       }
  153.  
  154.     // if insert data error
  155.     if ( (rc = table.Insert (3, 5, 6L, "GHI")) != 0 )
  156.       {
  157.         printf ("Error inserting data, rc = %d\n", rc);
  158.         database.Close ();
  159.         exit (-1);
  160.       }
  161.  
  162.     // if delete data error
  163.     if ( (rc = table.Delete ("%*d %*d %*4s")) != 0)
  164.       {
  165.         printf ("Error on delete all rows, rc = %d\n", rc);
  166.         database.Close ();
  167.         exit (-1);
  168.       }
  169.  
  170.     // if close database error
  171.     if ( (rc = database.Close ()) != 0)
  172.       {
  173.         printf ("Error on close database, rc = %d\n", rc);
  174.         exit (-1);
  175.       }
  176.  
  177.     printf ("Example completed successfully\n");
  178.   }
  179.