Product Documentation

dbExpress Driver (dBX)

Previous Topic

Next Topic

Define

Define() establishes specific data definitions. This involves defining columns/fields and creating the tables/files with optional indexes.

Below is the code for Define():

procedure TForm1.Define();

begin

// delete tables ...

Delete_Tables();

// ...and re-create them with constraints

Create_CustomerMaster_Table;

Create_CustomerOrders_Table;

Create_OrderItems_Table;

Create_ItemMaster_Table;

end;

procedure TForm1.Delete_Tables;

begin

try

SQLConnection1.StartTransaction(td);

except on E: Exception do Handle_Exception(E);

end;

try

SQLConnection1.ExecuteDirect('DROP TABLE ordritem');

except on E: Exception do Handle_Exception(E);

end;

try

SQLConnection1.ExecuteDirect('DROP TABLE custordr');

except on E: Exception do Handle_Exception(E);

end;

try

SQLConnection1.ExecuteDirect('DROP TABLE custmast');

except on E: Exception do Handle_Exception(E);

end;

try

SQLConnection1.ExecuteDirect('DROP TABLE itemmast');

except on E: Exception do Handle_Exception(E);

end;

try

SQLConnection1.Commit(td);

except on E: Exception do Handle_Exception(E);

end;

end;

procedure TForm1.Create_CustomerMaster_Table;

begin

try

SQLConnection1.StartTransaction(td);

// create table

SQLConnection1.ExecuteDirect('CREATE TABLE custmast (' +

'cm_custnumb CHAR(4) PRIMARY KEY,' +

'cm_custzipc CHAR(9),' +

'cm_custstat CHAR(2),' +

'cm_custrtng CHAR(1),' +

'cm_custname VARCHAR(47),' +

'cm_custaddr VARCHAR(47),' +

'cm_custcity VARCHAR(47))');

SQLConnection1.Commit(td);

except on E: Exception do Handle_Exception(E);

end;

end;

procedure TForm1.Create_CustomerOrders_Table;

begin

try

SQLConnection1.StartTransaction(td);

// create table

SQLConnection1.ExecuteDirect('CREATE TABLE custordr (' +

'co_ordrdate DATE,' +

'co_promdate DATE,' +

'co_ordrnumb CHAR(6) PRIMARY KEY,' +

'co_custnumb CHAR(4),' +

'FOREIGN KEY (co_custnumb) REFERENCES custmast)');

SQLConnection1.Commit(td);

except on E: Exception do Handle_Exception(E);

end;

end;

procedure TForm1.Create_OrderItems_Table;

begin

try

SQLConnection1.StartTransaction(td);

// create table

SQLConnection1.ExecuteDirect('CREATE TABLE ordritem (' +

'oi_sequnumb SMALLINT,' +

'oi_quantity SMALLINT,' +

'oi_ordrnumb CHAR(6),' +

'oi_itemnumb CHAR(5),' +

'FOREIGN KEY (oi_itemnumb) REFERENCES itemmast,' +

'FOREIGN KEY (oi_ordrnumb) REFERENCES custordr)');

SQLConnection1.Commit(td);

except on E: Exception do Handle_Exception(E);

end;

end;

procedure TForm1.Create_ItemMaster_Table;

begin

try

SQLConnection1.StartTransaction(td);

// create table

SQLConnection1.ExecuteDirect('CREATE TABLE itemmast (' +

'im_itemwght INTEGER,' +

'im_itempric MONEY,' +

'im_itemnumb CHAR(5) PRIMARY KEY,' +

'im_itemdesc VARCHAR(47))');

SQLConnection1.Commit(td);

except on E: Exception do Handle_Exception(E);

end;

end;

TOCIndex