//Importeer bibliotheken
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
import java.sql.*;
// *********************
public class Kreta {
// In deze class worden de database bewerkingen uitgevoerd
private Connectie con;
private Vector vec;
private int menu_id;
private String naam_gerecht;
private String prijs;
private String ingredienten;
private String recept;
public void setId(int id){
this.menu_id=menu_id;
}
public int getId(){
return this.menu_id;
}
public void setNaam_Gerecht(String naam_gerecht){
this.naam_gerecht=naam_gerecht;
}
public String getNaam_Gerecht(){
return this.naam_gerecht;
}
public void setPrijs(String prijs){
this.prijs=prijs;
}
public String getPrijs(){
return this.prijs;
}
public void setIngredienten(String ingredienten){
this.ingredienten=ingredienten;
}
public String getIngredienten(){
return this.ingredienten;
}
public void setRecept(String recept){
this.recept=recept;
}
public String getRecept(){
return this.recept;
}
public Kreta(){
con = new Connectie();
vec = new Vector();
}
public Kreta(int menu_id,String naam_gerecht,String prijs,String ingredienten,String recept){
this();
this.menu_id = menu_id;
this.naam_gerecht = naam_gerecht;
this.prijs = prijs;
this.ingredienten = ingredienten;
this.recept = recept;
}
public Vector leesAlleGerechten(){
// Maak een vector die alle records uit de tabel afhaalmenus ophaalt.
try {
Statement statement = con.connection.createStatement();
String gget;
gget = "SELECT DISTINCT menu_id,naam_gerecht,prijs FROM afhaalmenus;";
ResultSet rs = statement.executeQuery(gget);
while (rs.next()){
Vector vRow = new Vector<>();
for(int x = 1;x <=3;x++){
vRow.addElement(rs.getString(x));
}
vec.add(vRow);
}
} catch (Exception e) {
con.displaySQLErrors(e);
}
return vec;
}
public void leesGerecht(int id){
// Lees een record met het meegegeven id uit de tabel afhaalmenus
try{
PreparedStatement sset = con.connection.prepareStatement("SELECT DISTINCT * FROM afhaalmenus WHERE menu_id = ? ");
sset.setInt(1, id); //Eerste parameter '?' is het menu_id welke wordt toegekend in het eerste stuk van de functie.
ResultSet rs = sset.executeQuery();
rs.next();
this.menu_id = rs.getInt(1);
this.naam_gerecht = rs.getString(2);
this.prijs = rs.getString(3);
this.ingredienten = rs.getString(4);
this.recept = rs.getString(5);
}catch(Exception e){
e.printStackTrace(); // Ik maak gebruik van de printstack om meer informatie te verkrijgen bij een exception
}
}
public void wisGerecht(int id){
// Delete het record met het menu_id id uit de tabel afhaalmenus
try {
PreparedStatement sset = con.connection.prepareStatement("DELETE FROM afhaalmenus WHERE menu_id = ?");
sset.setInt(1, id); //Eerste parameter '?' is het menu_id welke wordt toegekend in het eerste stuk van de functie.
sset.executeUpdate();
}
catch (Exception e){
e.printStackTrace(); // Ik maak gebruik van de printstack om meer informatie te verkrijgen bij een exception
}
}
public void nieuwGerecht(){
try {
// Insert statement opbouwen
// Ik maak gebruik van een prepared statement omdat dit veel overzichtelijker werkt
// Met Statement.RETURN_GENERATED_KEYS krijg ik de nieuw aangemaakte menu_id terug
PreparedStatement sset = con.connection.prepareStatement("INSERT INTO afhaalmenus (naam_gerecht,prijs,ingredienten,recept) VALUES (?,?,?,?)",Statement.RETURN_GENERATED_KEYS);
sset.setString(1, this.naam_gerecht); //Eerste parameter '?' is het naam_gerecht
sset.setString(2, this.prijs); //Tweede parameter '?' is het prijs
sset.setString(3, this.ingredienten); //Derde parameter '?' is het ingredienten
sset.setString(4, this.recept); //Vierde parameter '?' is het recept
sset.executeUpdate();
ResultSet tableKeys = sset.getGeneratedKeys();
tableKeys.next();
this.menu_id = tableKeys.getInt(1);
}
catch (Exception e){
e.printStackTrace(); // Ik maak gebruik van de printstack om meer informatie te verkrijgen bij een exception
}
}
public void bewerkGerecht(int id) {
// Update het geselecteerde record in de tabel afhaalmenus
try
{
PreparedStatement sset = con.connection.prepareStatement("UPDATE afhaalmenus SET naam_gerecht = ?,prijs = ?,ingredienten = ?,recept = ? " +
"WHERE menu_id = ?");
sset.setString(1, this.naam_gerecht);
sset.setString(2, this.prijs);
sset.setString(3, this.ingredienten);
sset.setString(4, this.recept);
sset.setInt(5, id);
sset.executeUpdate();
}
catch(Exception e) {
e.printStackTrace(); // Ik maak gebruik van de printstack om meer informatie te verkrijgen bij een exception
}
}
}