/**
* Klasse Datenbank zum Managen aller Datenbankereignisse.
* Datenbank ansprechen, laden und ändern.
* Alle Error-Ereignisse werden mit try/catch abgefangen
*/
import java.sql.*;
public class Datenbank {
/*Instanzvariablen - Datenbank*/
/* Pfad zu Datenbank*/
private String url;
/* Benutzername*/
private String benutzer;
/* Benutzerpasswort*/
private String passwort;
/* Objekt - Datenbankverbindung*/
Connection verbinde;
/* Objekt - Statement für DBAusgabe und DBSpeichern*/
Statement stmt;
Produkt p;
public Datenbank(){
this.url = "jdbc:mysql://localhost/kuehlschranksystem";
this.benutzer = "root";
this.passwort = "";
}
public void Datenbank_speichern(Produkt p){
/* try öffnen*/
try {
/* Statement formulieren*/
stmt = verbinde.createStatement();
/* Lokale Variablen */
String pr_name = p.getPr_name();
String pr_beschreibung = p.getPr_beschreibung();
double pr_preis = p.getPr_preis();
double pr_menge = p.getPr_menge();
int pr_barcode = p.getPr_barcode();
String pr_gruppe = p.getPr_gruppe();
/* Statement updaten */
stmt.executeUpdate("INSERT INTO produkt_tab (pr_name,pr_beschreibung,pr_preis,pr_menge,pr_barcode,pr_gruppe) VALUES('" + pr_name + "' , '" + pr_beschreibung + "' , '" + null/*Bild*/ + "' , '" + pr_preis + "' , '" + pr_menge + "' , '" + pr_barcode + "' , '" + pr_gruppe + "')");
/* Nur Prüfen - später löschen*/
ResultSet rs = stmt.executeQuery("SELECT * FROM produkt");
while (rs.next()) {
System.out.println("Produkt: " + rs.getString("name"));
}
}
/*catch abschließen*/
catch (SQLException exc) {
System.err.println(exc.getMessage());
}
}
public Produkt Datenbank_ausgabe(){
/* try öffnen*/
try{
/*Statement formulieren*/
stmt = verbinde.createStatement();
/*Formuliertes Statement und Ausgabe einem Ergebnis zurückgeben*/
/**
* SELECT * FROM Datenbank
*/
ResultSet erg = stmt.executeQuery("SELECT * FROM produkt_tab");
/*Ausgabe*/
while (erg.next()) {
/* Produkte füllen mit Argumenten*/
p = Produkt.erstelleProdukt(erg.getString("pr_name"), erg.getString("pr_beschreibung"),
null, erg.getDouble("pr_preis"), erg.getInt("pr_menge"), erg.getInt("pr_barcode"),
erg.getString("pr_gruppe"));
/* Produkt der Produktliste hinzufügen. */
/* Klassenmethoden aufrufen - static */
Produktliste.hinzuProduktliste(p);
/* Ausgabe : Prüfen */
Produktliste.ausgabeProduktliste();
/*Daten ans TableModel übergeben*/
}
}
/*catch abschließen*/
catch (SQLException exc) {
System.err.println(exc.getMessage());
}
return p;
}
public void zuDatenbank_verbinden(){
/* try öffnen*/
try{
/*Treiber laden*/
Class.forName("com.mysql.jdbc.Driver");
}
/*catch abschließen*/
catch (ClassNotFoundException exc){
System.err.println("Treiber nicht gefunden!" + exc.getMessage());
System.exit(-1);
}
/* try öffnen*/
try{
/*Anmelden und Authentifizieren*/
verbinde = DriverManager.getConnection(getUrl(), getBenutzer(), getPasswort());
}
/*catch abschließen*/
catch (SQLException exc) {
System.err.println(exc.getMessage());
}
}
/**
* @return the url
*/
public String getUrl() {
return url;
}
/**
* @param url the url to set
*/
public void setUrl(String url) {
this.url = url;
}
/**
* @return the benutzer
*/
public String getBenutzer() {
return benutzer;
}
/**
* @param benutzer the benutzer to set
*/
public void setBenutzer(String benutzer) {
this.benutzer = benutzer;
}
/**
* @return the passwort
*/
public String getPasswort() {
return passwort;
}
/**
* @param passwort the passwort to set
*/
public void setPasswort(String passwort) {
this.passwort = passwort;
}
}