TableViewExample
by Mai Nguyen, NeXT Developer Support Team

Overview

In order to run this example, you need to have an ORACLE server with a demo database installed.  You should install the OracleDemo.dbmodel from /NextDeveloper/Examples/DatabaseKit/Models into your ~/Library/Databases directory.
This example shows how you can define a DBTableView and a DBModule programmatically instead of using the corresponding Interface Builder UI Objects .

Program Organization

Major Classes in the Application

TableViewController	A general manager object.  A subclass of the Object class.  Performs miscellaneous 		initialzations for the DBModule and DBTableView objects. 

Other Peculiarities
In order to load an Adaptor dynamically, you need to add the OTHER_LDFLAGS definition (see the Makefile.preamble). You also need to add the libdbkit_s.a library into your PB.project under libraries in order to use the DBKit API. 
Note that you will get a compiler warning: method 'getProperties' not implemented by protocol that you can ignore. This method was needed to retrieve attributes from a one-to-one relationship.

Topics Of Interest

- How to get all the attributes from an entity and the sub-attributes that belongs to a one-to-one relationship of
  that same entity 
See the method initTableView: in the file TableViewController.m.

- How to make a fetchgroup become the datasource of the tableview by using the method 
   makeAssociationFrom:
See the method initTableView: in the file TableViewController.m

- How to replicate the IB connections to a tableview by using DBExpressions
See the method  addTableColumn the file TableViewController.m

Change History
August 1992		Created for 3.0 Gold