Advertisement
Guest User

Untitled

a guest
Jul 5th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.39 KB | None | 0 0
  1. package uebung;
  2.  
  3. import java.io.BufferedWriter;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.sql.Connection;
  7. import java.sql.DriverManager;
  8. import java.sql.PreparedStatement;
  9. import java.sql.ResultSet;
  10. import java.sql.SQLException;
  11.  
  12. public class Blatt2 {
  13.  
  14.     /**
  15.      * @param args
  16.      */
  17.     public static void main(String[] args) {
  18.         Connection con;
  19.         String driver = "org.postgresql.Driver";
  20.         String DB_SERVER = "localhost:5433";
  21.         String DB_NAME = "Musik";
  22.  
  23.         String password = "";
  24.         String user = "postgres";
  25.         String url = "jdbc:postgresql://" + DB_SERVER + "/" + DB_NAME;
  26.  
  27.         String stmt0 = "SELECT Count(*) FROM person WHERE nationalitaet = 'USA'";
  28.         String stmt1 = "SELECT name FROM musiker NATURAL JOIN person NATURAL JOIN"
  29.                 + " lied NATURAL JOIN medium WHERE role ILIKE '%Vocals' AND"
  30.                 + " nationalitaet = 'USA' AND medium_art = 'MD' GROUP BY name";
  31.         String stmt2 = "SELECT medium_titel, name FROM person NATURAL JOIN "
  32.                 + "musiker NATURAL JOIN lied NATURAL JOIN medium WHERE name = "
  33.                 + "'Robbie Williams' AND medium_art = 'LP' GROUP BY medium_titel,"
  34.                 + " name";
  35.         String stmt3 = "SELECT medium_id, medium_titel, medium_art, preis, "
  36.                 + "erscheinungsjahr FROM lied NATURAL JOIN medium WHERE medium_art "
  37.                 + "= 'CD' AND preis < 10 ORDER BY laenge DESC LIMIT 1";
  38.         String stmt4 = "SELECT m.medium_id, m.medium_titel, sum(l.laenge) "
  39.                 + "FROM medium m NATURAL JOIN lied l WHERE m.medium_art='LP' "
  40.                 + "AND lied_id in (SELECT lied_id FROM lied WHERE medium_id = "
  41.                 + "m.medium_id ORDER BY laenge DESC LIMIT 2) GROUP BY m.medium_id, "
  42.                 + "m.medium_titel";
  43.         String stmt5 = "SELECT DISTINCT m.medium_titel, m.medium_art FROM "
  44.                 + "medium m WHERE m.medium_id NOT IN (SELECT DISTINCT medium_id "
  45.                 + "FROM lied WHERE laenge < '00:05:00')";
  46.         String stmt6 = "-- SELECT * \n SELECT avg(preis) FROM medium " +
  47.                 "WHERE medium_id IN (SELECT medium_id FROM medium as m " +
  48.                 "NATURAL JOIN lied l NATURAL JOIN musiker mu NATURAL JOIN " +
  49.                 "person p WHERE m.medium_art = 'CD' GROUP BY m.medium_id " +
  50.                 "HAVING COUNT(DISTINCT nationalitaet) >= 3)";
  51.        
  52.         ResultSet rs = null;
  53.         String[] s = {stmt0, stmt1, stmt2, stmt3, stmt4, stmt5, stmt6};
  54.         try {
  55.             Class.forName(driver);
  56.             con = DriverManager.getConnection(url, user, password);
  57.             FileWriter fw = new FileWriter("erg.htm");
  58.             BufferedWriter bw = new BufferedWriter(fw);
  59.             bw.write("<html>");
  60.             bw.write("<body>");
  61.            
  62.             for (int i = 0; i <= 6; i++) {
  63.                 int abfrage = i +1;
  64.                 bw.write("<br>Abfrage " + abfrage + ":</br>");
  65.                 rs = sqlAbfrage(con, s[i]);
  66.                 while (rs.next()) {
  67.                     bw.write("<br>" + rs.getString(1) + "</br>");
  68.                 }
  69.                 bw.write("<br> </br>");
  70.             }
  71.            
  72.             bw.write("</body>");
  73.             bw.write("</html>");
  74.            
  75.             bw.close();
  76.             fw.close();
  77.         } catch (SQLException e) {
  78.             // TODO Auto-generated catch block
  79.             e.printStackTrace();
  80.         } catch (ClassNotFoundException e) {
  81.             // TODO Auto-generated catch block
  82.             e.printStackTrace();
  83.         } catch (IOException e) {
  84.             // TODO Auto-generated catch block
  85.             e.printStackTrace();
  86.         }
  87.  
  88.     }
  89.  
  90.     public static ResultSet sqlAbfrage(Connection con, String stmt) {
  91.         ResultSet rs = null;
  92.         try {
  93.             PreparedStatement ptsmt = con.prepareStatement(stmt);
  94.             rs = ptsmt.executeQuery();
  95.  
  96.         } catch (SQLException e) {
  97.             // TODO Auto-generated catch block
  98.             e.printStackTrace();
  99.         }
  100.         return rs;
  101.     }
  102.  
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement