Define() establishes specific data definitions. This involves defining columns/fields and creating the tables/files with optional indexes.
Below is the code for Define():
//
// Define()
//
// Create the tables
//
static void Define()
{
Console.WriteLine("DEFINE");
Create_CustomerMaster_Table();
Create_CustomerOrders_Table();
Create_OrderItems_Table();
Create_ItemMaster_Table();
}
//
// Create_CustomerMaster_Table()
//
// Create the table CustomerMaster
//
static void Create_CustomerMaster_Table()
{
Console.WriteLine("\ttable CustomerMaster...");
try
{
cmd.CommandText = "CREATE TABLE custmast (" +
"cm_custnumb CHAR(4)," +
"cm_custzipc CHAR(9)," +
"cm_custstat CHAR(2)," +
"cm_custrtng CHAR(1)," +
"cm_custname VARCHAR(47)," +
"cm_custaddr VARCHAR(47)," +
"cm_custcity VARCHAR(47))";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Handle_Exception(e);
}
try
{
cmd.CommandText = "CREATE UNIQUE INDEX cm_custnumb_idx ON custmast (cm_custnumb)";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Handle_Exception(e);
}
}
//
// Create_CustomerOrders_Table()
//
// Create the table CustomerOrders
//
static void Create_CustomerOrders_Table()
{
Console.WriteLine("\ttable CustomerOrders...");
try
{
cmd.CommandText = "CREATE TABLE custordr (" +
"co_ordrdate DATE," +
"co_promdate DATE," +
"co_ordrnumb CHAR(6)," +
"co_custnumb CHAR(4))";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Handle_Exception(e);
}
try
{
cmd.CommandText = "CREATE UNIQUE INDEX co_ordrnumb_idx ON custordr (co_ordrnumb)";
cmd.ExecuteNonQuery();
cmd.CommandText = "CREATE INDEX co_custnumb_idx ON custordr (co_custnumb)";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Handle_Exception(e);
}
}
//
// Create_OrderItems_Table()
//
// Create the table OrderItems
//
static void Create_OrderItems_Table()
{
Console.WriteLine("\ttable OrderItems...");
try
{
cmd.CommandText = "CREATE TABLE ordritem (" +
"oi_sequnumb SMALLINT," +
"oi_quantity SMALLINT," +
"oi_ordrnumb CHAR(6)," +
"oi_itemnumb CHAR(5))";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Console.WriteLine("Application Exception : " + e.Message + "\n");
}
try
{
cmd.CommandText = "CREATE UNIQUE INDEX oi_ordrnumb_idx ON ordritem (oi_ordrnumb, oi_sequnumb)";
cmd.ExecuteNonQuery();
cmd.CommandText = "CREATE INDEX oi_itemnumb_idx ON ordritem (oi_itemnumb)";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Handle_Exception(e);
}
}
//
// Create_ItemMaster_Table()
//
// Create the table ItemMaster
//
static void Create_ItemMaster_Table()
{
Console.WriteLine("\ttable ItemMaster...");
try
{
cmd.CommandText = "CREATE TABLE itemmast (" +
"im_itemwght INTEGER," +
"im_itempric MONEY," +
"im_itemnumb CHAR(5)," +
"im_itemdesc VARCHAR(47))";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Handle_Exception(e);
}
try
{
cmd.CommandText = "CREATE INDEX im_itemnumb_idx ON itemmast (im_itemnumb)";
cmd.ExecuteNonQuery();
}
catch (CtreeSqlException e)
{
Handle_Exception(e);
}
catch (Exception e)
{
Handle_Exception(e);
}
}