/* * Main.fx * * Created on Sep 27, 2007, 9:37:26 AM */ package tablesample; /** * @author Radhika Gehant */ import javafx.ui.*; import javafx.ui.*; import java.lang.Thread; import java.lang.Exception; import java.sql.*; class Customer { attribute Name: String; attribute Addressline1: String; attribute Addressline2: String; attribute City: String; attribute Phone: String; attribute Email: String; } class customerOperations { attribute customer : Customer*; public operation getCustomer(); attribute datasource : DatabaseAccess; } customerOperations.datasource = null; operation customerOperations.getCustomer() { var rs = this.datasource.processDBQuery("SELECT * FROM CUSTOMER"); while(rs.next()) { println("City: {rs.getString('City')} Name: {rs.getString('Name')}"); insert Customer{City: rs.getString('City') Name: rs.getString('Name') Addressline1: rs.getString('Addressline1') Addressline2: rs.getString('Addressline2') Phone: rs.getString('Phone')} into this.customer; } }// getCustomer var db : DatabaseAccess = null; var rs : ResultSet = null; /*//Using JavaDB db = DatabaseAccess{driverName: 'org.apache.derby.jdbc.ClientDriver' jdbcUrl : 'jdbc:derby://localhost:1527/sample' user : 'app' password : 'app'}; */ //Using MySQL db = DatabaseAccess{driverName: 'com.mysql.jdbc.Driver' jdbcUrl : 'jdbc:mysql://localhost:3306/MyNewDatabase' user : 'root' password : 'nbuser'}; try { // Connect to database db.connect(); var Allcustomers = customerOperations { datasource: bind lazy db }; Allcustomers.getCustomer(); println("Name: {Allcustomers.customer.Name} "); //Begin Frame code Frame { height: 120 width: 500 title: "Populating Table From Database" onClose: function() { return db.shutdown(); } content: Table { columns: [TableColumn { text: "Name" }, TableColumn { text: "Addressline1" }, TableColumn { text: "Addressline2" width: 100 }, TableColumn { text: "City" alignment: TRAILING }, TableColumn { text: "Phone" alignment: CENTER }] cells: bind foreach(p in Allcustomers.customer) [TableCell { text:bind p.Name }, TableCell { text:bind p.Addressline1 }, TableCell { text: bind p.Addressline2 }, TableCell { text: bind p.City }, TableCell { text: bind p.Phone }] } visible: true }//end Frame code } catch(e:SQLException) { e.printStackTrace(); }