home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cppsql.zip
/
SQL.ZIP
/
EXAMPLE.CPP
next >
Wrap
C/C++ Source or Header
|
1992-09-14
|
5KB
|
179 lines
#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");
}