Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.Scanner;
- public class Datenbankanbindung{
- static Connection conn;
- String url = "jdbc:mysql://127.0.0.1:3306/ venenumBonus";
- static Scanner sc = new Scanner(System.in);
- public Datenbankanbindung() {
- try {
- conn = DriverManager.getConnection( url, "root", "");
- } catch (SQLException e) {
- System.out.println("*** SQLException:\n" + e);
- e.printStackTrace();
- } catch (Exception e) {
- System.out.println("*** Exception:\n" + e); e.printStackTrace();
- }
- }
- public static void menu (){
- System.out.println("---------- ---Menu ------------");
- System.out.println("1- Die Auslastung der Liferer . ");
- System.out.println("2- Ein neuer Lieferer einfügen .");
- System.out.println("3- Ein Lieferbezik ändern .");
- int wahl = sc.nextInt();
- switch(wahl) {
- case 1 :
- try {
- System.out.println("Geben Sie Den Lieferbezirk ein :");
- String lieferbezirk = sc.next();
- PreparedStatement ps = conn.prepareStatement("SELECT count(*) FROM lieferer WHERE plz = ? ");
- ps.setString(1, lieferbezirk);
- ResultSet rs = ps.executeQuery();
- rs.next();
- String anzahl = Integer.toString(rs.getInt(1)) ;
- System.out.println("Die Anzahl der Lieferer :");
- System.out.println(anzahl);
- PreparedStatement ps2 = conn.prepareStatement("SELECT COUNT(*) FROM lieferer,liefererbestaetigung, bestellung WHERE lieferer.idLieferer = liefererbestaetigung.Lieferer_ idLieferer AND liefererbestaetigung. Bestellung_idBestellung = bestellung.idBestellung AND lieferer.plz = ? AND bestellung.bestellstatus = 'abgeschlossen'"
- );
- ps2.setString(1, lieferbezirk);
- ResultSet rs2 = ps2.executeQuery();
- rs2.next();
- String anzahl2 = Integer.toString(rs2.getInt(1) );
- System.out.println("Die Anzahl der abgeschlossenen Lieferungen");
- System.out.println(anzahl2);
- PreparedStatement ps3 = conn.prepareStatement("SELECT AVG(idBestellung) FROM lieferer WHERE plz = ? ");
- ps3.setString(1, lieferbezirk);
- ResultSet rs3 = ps3.executeQuery();
- rs3.next();
- String anzahl3 = Integer.toString(rs3.getInt(1) );
- System.out.println(anzahl3);
- } catch (SQLException se) { }
- menu ();
- break;
- case 2 :
- System.out.println("Geben Sie Der LieferId :");
- int liefererId = sc.nextInt();
- System.out.println("Geben Sie Die Vorname : ");
- String vorname = sc.next();
- System.out.println("Geben Sie Die Nachnname : ");
- String nachname = sc.next();
- System.out.println("Geben Sie Die Matrikelnummer : ");
- String matrikelnummer = sc.next();
- System.out.println("Geben Sie Die Lieferbezik : ");
- int bzk = sc.nextInt();
- String sqlString = "call bestellung('" + knr + "')";
- try{
- stmt = conn.createStatement();
- stmt.executeUpdate(sqlString);
- stmt.close();
- System.out.println("Bestellung erfasst!");
- } catch (SQLException e) {
- System.out.println("*** SQLException:\n"+e); e.printStackTrace();
- }
- break;
- case 3 :
- System.out.println("Ein Lieferbezik ändern. ");
- System.out.println("Geben Sie Der LieferId :");
- int lieferId = sc.nextInt();
- System.out.println("Geben sie den Lieferbezik ein : ");
- String plz = sc.next();
- break;
- }
- }
- public static void main(String[] args) {
- Datenbankanbindung d = new Datenbankanbindung();
- d.menu();
- }
- }
- ++der Lieferbezirk eines Lieferers geändert werden (vgl. Aufgabe 2a).
- DELIMITER $$
- CREATE PROCEDURE `lieferbezirk` (IN id INT , IN alteBlz INT ,IN neuerBlz INT, OUT msg CHARACTER(30))
- BEGIN
- DECLARE myblz INT
- SELECT blz INTO myblz FROM lieferer WHERE idLieferer = id
- IF alteBlz = myblz AND neuerBlz IN (SELECT * FROM getraenkemarkt WHERE plz = neuerBlz )
- THEN
- UPDATE lieferer SET blz = neuerBlz
- WHERE idLieferer = id
- SET msg = 'BLZwechsel erfolgreich'
- ELSE
- SET msg = 'Aktueller Blz fehlerhaft'
- CALL FehlerhafterAlterWohnort()
- END IF
- END &&
- DELIMITER ;
- • ++++ein neuer Lieferer eingefügt (vgl. Aufgabe 2b)
- CREATE PROCEDURE `neueLieferer` (IN vorname VARCHAR(50), IN idL INT,IN nachnamen VARCHAR(50), IN matrikelnummer INT)
- BEGIN
- DECLARE lieferzeit DATETIME ;
- DECLARE kontonummer DATETIME ;
- DECLARE myplz INT ;
- DECLARE idLB INT ;
- SET kontonummer = nachnamen + matrikelnummer;
- SET lieferzeit = now();
- SELECT plz INTO myplz FROM getraenkemarkt WHERE name = 'TOP';
- SELECT idLieferbezirk INTO idLB FROM lieferbezirk WHERE plz = myplz;
- INSERT INTO lieferer(idLieferer , passwort, anrede , vorname, nachname ,geburtsdatum, strasse , wohnort , plz , tel ,mail , beschreibung , konto_nr)
- VALUES (idL ,'passwort001','anrede', vorname,nachname,' geburtsdatum','strasse',' wohnort',myplz,'tel','mail',' beschreibung' ,kontonummer)
- INSERT INTO Lieferer_lieferbezirk( Lieferbezirk_idLieferbezirk, Lieferer_idLieferer, Lieferzeit,Lieferpreis )
- VALUES(idLB,idL,lieferzeit, 60);
- END
- CREATE Trigger TriggerPruefeGertrankmarkt AFTER UPDATE ON lieferer
- AFTER UPDATE ON lieferer
- DECLARE blz INT;
- DECLARE id INT;
- SELECT plz ,Getraenkemarkt_ idGetreankemarkt INTO blz,id
- FROM lieferer NATURAL JOIN getraenkemarkt_has_lieferer
- WHERE idliefere = lieferer_idlieferer
- and idlieferer= new.idlieferer
- UPDATE getraenkemarkt
- SET plz = blz
- WHERE idGetraenkemarkt=id
- CREATE Trigger TriggerPruefeGertrankmarkt AFTER INSERT ON lieferer
- AFTER INSERT ON lieferer
- FOR EACH ROW
- BEGIN
- DECLARE blz INT
- DECLARE bid INT
- SELECT plz INTO blz FROM lieferer
- WHERE idliefere=new.idlieferer;
- IF
- blz NOT IN (SELECT plz FROM getraenkemarkt )
- THEN
- SELECT max(idGetreankemarkt)+1 INTO bid
- FROM getraenkemarkt
- INSERT INTO getraenkemarkt( idGetreankemarkt,name,ustid, straße,wohnort,plz,tel,mail)
- VALUES(bid,'walmas',10,'emil figge str','dortmund',0176146661440, blz,'walmasQgmail.com')
- INSERT INTO getraenkemarkt_has_lieferer( Lieferer_idlieferer, Getraenkemarkt_ idGetreankemarkt)
- VALUES (new.idlieferer,bid)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement