home *** CD-ROM | disk | FTP | other *** search
- #include "stdio.h"
- #include "stdlib.h"
- #include "stdarg.h"
- #include "string.h"
- #include "ctype.h"
-
- // :H1 USER-DEFINED INCLUDE FILES. SELECTIVITY USED WHERE POSSIBLE.
- #include "portable.h"
- #include "sql.hpp"
- #include "sqltab.hpp"
-
- // This code is used to test the sql object.
- VOID main ()
- {
- SHORT rc, id;
- SQL database ("test"); // create sql object
- Table table ("FORMAT", "%d %ld %4s", "SHORTVAR,LONGVAR,STRINGVAR");
- SHORT shortvar;
- LONG longvar;
- CHAR stringvar [5];
-
- // if error opening database
- if ( (rc = database.Open ()) != 0 )
- {
- // if database create error
- if ( (rc = database.Create ("This is a test database")) != 0 )
- {
- printf ("Error creating database, rc = %d\n", rc);
- exit (-1);
- }
-
- // if open database error
- if ( (rc = database.Open ()) != 0 )
- {
- printf ("Error opening database, rc = %d\n", rc);
- exit (-1);
- }
-
- // if create table error
- if ( (rc = table.Create ()) != 0 )
- {
- printf ("Error creating table, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
- if ( (rc = table.Index ("%d %*ld %*4s")) != 0 )
- {
- printf ("Error creating index, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
- }
-
- // if insert data error
- if ( (rc = table.Insert (3, 1, 2L, "ABC" )) != 0 )
- {
- printf ("Error inserting data, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if insert data error
- if ( (rc = table.Insert (3, 3, 4L, "DEF")) != 0 )
- {
- printf ("Error inserting data, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if find data error
- if ( (rc = table.Search (TRUE, "%d %*d %*4s",
- &shortvar, &longvar, &stringvar, 1)) != 0)
- {
- printf ("Error on table search, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if find data error
- if (shortvar != 1 || longvar != 2 || (strcmp (stringvar, "ABC")!= 0))
- {
- printf ("Error on table search, incorrect record\n");
- database.Close ();
- exit (-1);
- }
-
- // if find data error
- if ( (rc = table.Search (FALSE, "%d %*d %*4s",
- &shortvar, &longvar, &stringvar, 1)) == 0)
- {
- printf ("Error on table search, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if find data error
- if ( (rc = table.Search (TRUE, "%*d %*d %2s",
- &shortvar, &longvar, &stringvar, "AB")) != 0)
- {
- printf ("Error on partial string search, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if find data error
- if (shortvar != 1 || longvar != 2 || (strcmp (stringvar, "ABC")!= 0))
- {
- printf ("Error on partial string search, incorrect record\n");
- database.Close ();
- exit (-1);
- }
-
- // if find data error
- if ( (rc = table.Search (TRUE, "%*d %*d %*2s",
- &shortvar, &longvar, &stringvar)) != 0)
- {
- printf ("Error on search for all rows, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if find data error
- if (shortvar != 1 || longvar != 2 || (strcmp (stringvar, "ABC")!= 0))
- {
- printf ("Error on search for all rows, incorrect record\n");
- database.Close ();
- exit (-1);
- }
-
- // if delete data error
- if ( (rc = table.DeleteCurrent ()) != 0)
- {
- printf ("Error on delete current row, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if delete data error
- if ( (rc = table.Delete ("%d %*d %*4s", 3)) != 0)
- {
- printf ("Error on table row delete, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if commit data error
- if ( (rc = database.Commit ()) != 0 )
- {
- printf ("Error commiting data, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if insert data error
- if ( (rc = table.Insert (3, 5, 6L, "GHI")) != 0 )
- {
- printf ("Error inserting data, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if delete data error
- if ( (rc = table.Delete ("%*d %*d %*4s")) != 0)
- {
- printf ("Error on delete all rows, rc = %d\n", rc);
- database.Close ();
- exit (-1);
- }
-
- // if close database error
- if ( (rc = database.Close ()) != 0)
- {
- printf ("Error on close database, rc = %d\n", rc);
- exit (-1);
- }
-
- printf ("Example completed successfully\n");
- }
-