Offering.java
import java.sql.*;
public class Offering {
private int id;
private Course course;
private String daysTimes;
static String url = "jdbc:odbc:Reggie";
static { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }
catch (Exception ignored) {} }
public static Offering create(Course course, String daysTimesCsv)
throws Exception
{
Connection conn = null;
try {
conn = DriverManager.getConnection(url, "", "");
Statement statement = conn.createStatement();
ResultSet result = statement.executeQuery(
"SELECT MAX(ID) FROM offering;");
result.next();
int newId = 1 + result.getInt(1);
statement.executeUpdate("INSERT INTO offering VALUES ('"
+ newId + "','" + course.getName()
+ "','" + daysTimesCsv + "');");
return new Offering(newId, course, daysTimesCsv);
} finally {
try { conn.close(); } catch (Exception ignored) {}
}
}
public static Offering find(int id) {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, "", "");
Statement statement = conn.createStatement();
ResultSet result = statement.executeQuery(
"SELECT * FROM offering WHERE ID =" + id + ";");
if (result.next() == false)
return null;
String courseName = result.getString("Course");
Course course = Course.find(courseName);
String dateTime = result.getString("DateTime");
conn.close();
return new Offering(id, course, dateTime);
} catch (Exception ex) {
try { conn.close(); } catch (Exception ignored) {}
return null;
}
}
public void update() throws Exception {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, "", "");
Statement statement = conn.createStatement();
statement.executeUpdate(
"DELETE FROM Offering WHERE ID=" + id + ";");
statement.executeUpdate(
"INSERT INTO Offering VALUES('" + id + "','" +
course.getName() + "','" + daysTimes + "');");
} finally {
try { conn.close(); } catch (Exception ignored) {}
}
}
public Offering(int id, Course course, String daysTimesCsv) {
this.id = id;
this.course = course;
this.daysTimes = daysTimesCsv;
}
public int getId() {
return id;
}
public Course getCourse() {
return course;
}
public String getDaysTimes() {
return daysTimes;
}
public String toString() {
return "Offering " + getId() + ": "
+ getCourse() + " meeting " + getDaysTimes();
}
}
|