1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| 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();
} |