package paket_Konzertmanagement;

import java.sql.*;
import javax.sql.DataSource;

public class DBZugriff {
    //Variablen fr den Verbindungsaufbau
    Connection datenbank = null; //Verbindungsobjekt;
    Statement stmt = null; //Objekt fr Ausfhrung von SQL-Befehlen

    public void oeffneDB() {

        try {
            Class.forName("com.mysql.jdbc.Driver");
            datenbank = DriverManager.getConnection
            ("jdbc:mysql://localhost/konzertverwaltung","root","");
//            System.out.println("Verbindung wurde erstellt!");            
            stmt = datenbank.createStatement();
         } catch (ClassNotFoundException e) {
            System.err.println(e);
            System.out.println("Fehler bei ClassNotFoundException");
            System.out.println(e.toString());
        }
         catch (SQLException e) {
            System.err.println(e);
            System.out.println("Fehler bei SQLException");
            System.out.println(e.toString());
        }
    }

    public void bearbeiten (String sqlString) {
        try {
            stmt.executeUpdate(sqlString);
            System.out.println("Speicherung der Daten erfolgreich");
        } catch (SQLException e) {

            System.out.println("Fehler beim Bearbeiten der Daten, bei folgendem SQL-Befehl: ");
            System.out.println(sqlString);
        }
    }   
  
    public ResultSet lesen(String sqlString) {
        ResultSet rs;
        
        try {
            rs = stmt.executeQuery(sqlString);
//            System.out.println("Lesen der Datenstze erfolgreich!");
            return rs;
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("Fehler beim Lesen der Datenstze");
            rs = null;
            return rs;
        }catch (Exception e) {
            e.printStackTrace();
            System.out.println("Fehler beim Lesen der Datenstze");
            rs = null;
            return rs;
        }
    }

    public void schliesseDB() {
        try {
            stmt.close();
            datenbank.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}