Advertisement
Guest User

Untitled

a guest
Jan 7th, 2017
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.77 KB | None | 0 0
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.util.Scanner;
  8.  
  9. public class Datenbankanbindung{
  10. static Connection conn;
  11. String url = "jdbc:mysql://127.0.0.1:3306/ venenumBonus";
  12. static Scanner sc = new Scanner(System.in);
  13.  
  14. public Datenbankanbindung() {
  15. try {
  16. conn = DriverManager.getConnection( url, "root", "");
  17. } catch (SQLException e) {
  18. System.out.println("*** SQLException:\n" + e);
  19. e.printStackTrace();
  20. } catch (Exception e) {
  21. System.out.println("*** Exception:\n" + e); e.printStackTrace();
  22. }
  23. }
  24. public static void menu (){
  25. System.out.println("---------- ---Menu ------------");
  26. System.out.println("1- Die Auslastung der Liferer . ");
  27. System.out.println("2- Ein neuer Lieferer einfügen .");
  28. System.out.println("3- Ein Lieferbezik ändern  .");
  29. int wahl = sc.nextInt();
  30.  
  31. switch(wahl) {
  32. case 1 :
  33. try {
  34. System.out.println("Geben Sie  Den Lieferbezirk ein :");
  35. String lieferbezirk = sc.next();
  36. PreparedStatement ps = conn.prepareStatement("SELECT count(*) FROM lieferer WHERE plz = ? ");
  37. ps.setString(1, lieferbezirk);
  38. ResultSet rs = ps.executeQuery();
  39. rs.next();
  40. String anzahl = Integer.toString(rs.getInt(1)) ;
  41. System.out.println("Die Anzahl der Lieferer :");
  42. System.out.println(anzahl);
  43. 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'"
  44. );
  45. ps2.setString(1, lieferbezirk);
  46. ResultSet rs2 = ps2.executeQuery();
  47. rs2.next();
  48. String anzahl2 = Integer.toString(rs2.getInt(1) );
  49. System.out.println("Die Anzahl der abgeschlossenen Lieferungen");
  50. System.out.println(anzahl2);
  51. PreparedStatement ps3 = conn.prepareStatement("SELECT AVG(idBestellung) FROM lieferer WHERE plz = ? ");
  52. ps3.setString(1, lieferbezirk);
  53. ResultSet rs3 = ps3.executeQuery();
  54. rs3.next();
  55. String anzahl3 = Integer.toString(rs3.getInt(1) );
  56. System.out.println(anzahl3);
  57. } catch (SQLException se) { }
  58. menu ();
  59. break;
  60. case 2 :
  61. System.out.println("Geben Sie Der LieferId :");
  62. int liefererId = sc.nextInt();
  63. System.out.println("Geben Sie Die Vorname : ");
  64. String vorname = sc.next();
  65. System.out.println("Geben Sie Die Nachnname : ");
  66. String nachname = sc.next();
  67. System.out.println("Geben Sie Die Matrikelnummer : ");
  68. String matrikelnummer = sc.next();
  69. System.out.println("Geben Sie Die Lieferbezik : ");
  70. int bzk = sc.nextInt();
  71. String sqlString = "call bestellung('" + knr + "')";
  72. try{
  73. stmt = conn.createStatement();
  74. stmt.executeUpdate(sqlString);
  75. stmt.close();
  76. System.out.println("Bestellung erfasst!");
  77. } catch (SQLException e) {
  78. System.out.println("*** SQLException:\n"+e); e.printStackTrace();
  79. }
  80.  
  81. break;
  82. case 3 :
  83. System.out.println("Ein Lieferbezik ändern. ");
  84. System.out.println("Geben Sie Der LieferId :");
  85. int lieferId = sc.nextInt();
  86. System.out.println("Geben sie  den Lieferbezik ein : ");
  87. String plz = sc.next();
  88. break;
  89. }
  90. }
  91. public static void main(String[] args) {
  92. Datenbankanbindung d = new Datenbankanbindung();
  93. d.menu();
  94. }
  95. }
  96. ++der Lieferbezirk eines Lieferers geändert werden (vgl. Aufgabe 2a).
  97. DELIMITER $$
  98. CREATE PROCEDURE `lieferbezirk` (IN id INT , IN alteBlz INT ,IN neuerBlz INT, OUT msg CHARACTER(30))
  99. BEGIN
  100. DECLARE myblz INT
  101. SELECT blz INTO myblz FROM lieferer WHERE idLieferer = id
  102. IF alteBlz = myblz AND neuerBlz IN (SELECT * FROM getraenkemarkt WHERE plz = neuerBlz )
  103. THEN
  104. UPDATE lieferer SET blz = neuerBlz
  105.     WHERE idLieferer = id
  106.     SET msg = 'BLZwechsel erfolgreich'
  107. ELSE
  108. SET msg = 'Aktueller Blz fehlerhaft'
  109.     CALL FehlerhafterAlterWohnort()
  110. END IF
  111. END &&
  112. DELIMITER ;
  113.  
  114.  
  115. ++++ein neuer Lieferer eingefügt (vgl. Aufgabe 2b)  
  116.  
  117. CREATE PROCEDURE `neueLieferer` (IN vorname VARCHAR(50), IN idL INT,IN nachnamen VARCHAR(50), IN matrikelnummer INT)
  118. BEGIN
  119.  
  120. DECLARE lieferzeit DATETIME ;
  121. DECLARE kontonummer DATETIME ;
  122. DECLARE myplz INT ;
  123. DECLARE idLB INT ;
  124.  
  125.  
  126. SET kontonummer = nachnamen + matrikelnummer;
  127. SET lieferzeit = now();
  128. SELECT plz INTO myplz FROM getraenkemarkt WHERE name = 'TOP';
  129. SELECT idLieferbezirk INTO idLB FROM lieferbezirk WHERE plz = myplz;
  130.  
  131. INSERT INTO lieferer(idLieferer , passwort, anrede , vorname, nachname ,geburtsdatum, strasse , wohnort , plz , tel ,mail , beschreibung , konto_nr)
  132. VALUES (idL ,'passwort001','anrede', vorname,nachname,' geburtsdatum','strasse',' wohnort',myplz,'tel','mail',' beschreibung' ,kontonummer)
  133.  
  134. INSERT INTO Lieferer_lieferbezirk( Lieferbezirk_idLieferbezirk, Lieferer_idLieferer, Lieferzeit,Lieferpreis )
  135. VALUES(idLB,idL,lieferzeit, 60);
  136.  
  137.  
  138. END
  139.  
  140.  
  141. CREATE Trigger TriggerPruefeGertrankmarkt AFTER UPDATE ON lieferer
  142. AFTER UPDATE ON lieferer
  143. DECLARE blz INT;
  144. DECLARE id INT;
  145. SELECT plz ,Getraenkemarkt_ idGetreankemarkt INTO blz,id
  146. FROM lieferer NATURAL JOIN getraenkemarkt_has_lieferer
  147. WHERE idliefere = lieferer_idlieferer
  148. and idlieferer= new.idlieferer
  149. UPDATE getraenkemarkt
  150. SET plz = blz
  151. WHERE idGetraenkemarkt=id
  152.  
  153.  
  154.  
  155.  
  156.  
  157. CREATE Trigger TriggerPruefeGertrankmarkt AFTER INSERT ON lieferer
  158. AFTER INSERT ON lieferer
  159. FOR EACH ROW
  160. BEGIN
  161. DECLARE blz INT
  162. DECLARE bid INT
  163. SELECT plz INTO blz FROM lieferer
  164. WHERE idliefere=new.idlieferer;
  165. IF
  166. blz NOT IN (SELECT plz FROM getraenkemarkt )
  167. THEN
  168. SELECT max(idGetreankemarkt)+1 INTO bid
  169. FROM getraenkemarkt
  170. INSERT INTO getraenkemarkt( idGetreankemarkt,name,ustid, straße,wohnort,plz,tel,mail)
  171. VALUES(bid,'walmas',10,'emil figge str','dortmund',0176146661440, blz,'walmasQgmail.com')
  172. INSERT INTO getraenkemarkt_has_lieferer( Lieferer_idlieferer, Getraenkemarkt_ idGetreankemarkt)
  173. VALUES (new.idlieferer,bid)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement