Advertisement
Guest User

Untitled

a guest
May 18th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.16 KB | None | 0 0
  1. import java.applet.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.sql.*;
  5.  
  6.  
  7. public class AbfrageDB extends Applet implements MouseListener,ActionListener
  8. {
  9.     //Datenbankvariablen
  10.     Connection dbVerbindung=null;
  11.     Statement sqlStatement=null;
  12.     ResultSet resultSet=null;
  13.     ResultSetMetaData rsmd = null;
  14.  
  15.     // graph. Objekte globalisieren
  16.     Image lahnverlauf;
  17.     String sqlString="",strkanukl,strkanugr,strpreis,geskost,anzkl,anzgr,gesanz;
  18.     double dbkanukl,dbkanugr,kostkl,kostgr,dbanzkl,dbanzgr,kostges,dbkanu,anzges;
  19.     Label lbkorrekt,lbort,lbstart,lbziel,lbanzkanus,lbklkanus,lbgrkanus,lbdaten,lbvnme,lbnnme,lbstrnr,lbplzort,lbmail,lbfertig;
  20.     TextField tfpreis, tfklein,tfgross,tfnnme,tfvnme,tfstr,tfnr,tfplz,tfort,tfmail;
  21.     TextArea ausgabe;
  22.     Button preis,buchen,korrekt,abbruch;
  23.     Choice c1,c2;
  24.  
  25.     //Initialisierung
  26.     public void init()
  27.     {
  28.         //Layout
  29.         this.setLayout(null);
  30.  
  31.         //Bilder
  32.         lahnverlauf = getImage (getDocumentBase (), "Lahnverlauf.GIF");
  33.  
  34.         //Labels
  35.         lbort=new Label("Bitte geben sie Start- und Zielort an:");
  36.         lbort.setLocation(350,5);
  37.         lbort.setSize(350,15);
  38.         this.add(lbort);
  39.         lbstart=new Label("Start");
  40.         lbstart.setLocation(350,30);
  41.         lbstart.setSize(50,15);
  42.         this.add(lbstart);
  43.         lbziel=new Label("Ziel");
  44.         lbziel.setLocation(500,30);
  45.         lbziel.setSize(50,15);
  46.         this.add(lbziel);
  47.         lbanzkanus=new Label("Wieviele Kanus werden benötigt?");
  48.         lbanzkanus.setLocation(350,150);
  49.         lbanzkanus.setSize(350,15);
  50.         this.add(lbanzkanus);
  51.         lbklkanus=new Label("Kleine Kanus:");
  52.         lbklkanus.setLocation(350,175);
  53.         lbklkanus.setSize(100,15);
  54.         this.add(lbklkanus);
  55.         lbgrkanus=new Label("Große Kanus:");
  56.         lbgrkanus.setLocation(350,200);
  57.         lbgrkanus.setSize(100,15);
  58.         this.add(lbgrkanus);
  59.         lbdaten=new Label("Bitte persönliche Daten angeben:");
  60.         lbdaten.setLocation(10,250);
  61.         lbdaten.setSize(250,20);
  62.         this.add(lbdaten);
  63.         lbvnme=new Label("Vorname:");
  64.         lbvnme.setLocation(10,280);
  65.         lbvnme.setSize(60,20);
  66.         this.add(lbvnme);
  67.         lbnnme=new Label("Nachname:");
  68.         lbnnme.setLocation(10,305);
  69.         lbnnme.setSize(70,20);
  70.         this.add(lbnnme);
  71.         lbstrnr=new Label("Straße / Hausnr.:");
  72.         lbstrnr.setLocation(10,330);
  73.         lbstrnr.setSize(100,20);
  74.         this.add(lbstrnr);
  75.         lbplzort=new Label("Plz. / Ort:");
  76.         lbplzort.setLocation(10,355);
  77.         lbplzort.setSize(70,20);
  78.         this.add(lbplzort);
  79.         lbmail=new Label("eMail:");
  80.         lbmail.setLocation(10,380);
  81.         lbmail.setSize(50,20);
  82.         this.add(lbmail);
  83.         lbkorrekt=new Label("Sind alle Angaben korrekt?");
  84.         lbkorrekt.setLocation(450,50);
  85.         lbkorrekt.setSize(150,20);
  86.         this.add(lbkorrekt);
  87.         lbkorrekt.setVisible(false);
  88.         lbfertig=new Label("Buchungsanfrage gesendet!");
  89.         lbfertig.setLocation(450,150);
  90.         lbfertig.setSize(200,50);
  91.         this.add(lbfertig);
  92.         lbfertig.setVisible(false);
  93.  
  94.         //Textfelder
  95.         tfklein=new TextField();
  96.         tfklein.setLocation(450,175);
  97.         tfklein.setSize(30,20);
  98.         tfklein.setText("0");
  99.         this.add(tfklein);
  100.         tfgross=new TextField();
  101.         tfgross.setLocation(450,200);
  102.         tfgross.setSize(30,20);
  103.         tfgross.setText("0");
  104.         this.add(tfgross);
  105.         tfvnme=new TextField();
  106.         tfvnme.setLocation(130,280);
  107.         tfvnme.setSize(150,20);
  108.         this.add(tfvnme);
  109.         tfnnme=new TextField();
  110.         tfnnme.setLocation(130,305);
  111.         tfnnme.setSize(150,20);
  112.         this.add(tfnnme);
  113.         tfstr=new TextField();
  114.         tfstr.setLocation(130,330);
  115.         tfstr.setSize(100,20);
  116.         this.add(tfstr);
  117.         tfnr=new TextField();
  118.         tfnr.setLocation(235,330);
  119.         tfnr.setSize(45,20);
  120.         this.add(tfnr);
  121.         tfplz=new TextField();
  122.         tfplz.setLocation(130,355);
  123.         tfplz.setSize(45,20);
  124.         this.add(tfplz);
  125.         tfort=new TextField();
  126.         tfort.setLocation(180,355);
  127.         tfort.setSize(100,20);
  128.         this.add(tfort);
  129.         tfmail=new TextField();
  130.         tfmail.setLocation(130,380);
  131.         tfmail.setSize(150,20);
  132.         this.add(tfmail);
  133.  
  134.         //Textausgabe
  135.         ausgabe=new TextArea();
  136.         ausgabe.setLocation(400,80);
  137.         ausgabe.setSize(250,190);
  138.         this.add(ausgabe);
  139.         ausgabe.setVisible(false);
  140.  
  141.         //Buttons
  142.         preis=new Button("Kanus buchen");
  143.         preis.setLocation(350,230);
  144.         preis.setSize(100,30);
  145.         preis.addActionListener(this);
  146.         this.add(preis);
  147.         korrekt=new Button("Bestätigen");
  148.         korrekt.setLocation(470,270);
  149.         korrekt.setSize(100,30);
  150.         korrekt.addActionListener(this);
  151.         this.add(korrekt);
  152.         korrekt.setVisible(false);
  153.         abbruch=new Button("Abbrechen");
  154.         abbruch.setLocation(470,320);
  155.         abbruch.setSize(100,30);
  156.         abbruch.addActionListener(this);
  157.         this.add(abbruch);
  158.         abbruch.setVisible(false);
  159.  
  160.         //Dropdowns
  161.         c1=new Choice();
  162.         c1.add("Wetzlar");
  163.         c1.add("Weilburg");
  164.         c1.add("Arfurt");
  165.         c1.add("Limburg");
  166.         c1.setLocation(350,50);
  167.         c1.setSize(100,50);
  168.         this.add(c1);
  169.         c2=new Choice();
  170.         c2.add("Wetzlar ");
  171.         c2.add("Weilburg ");
  172.         c2.add("Arfurt ");
  173.         c2.add("Limburg ");
  174.         c2.setLocation(500,50);
  175.         c2.setSize(100,50);
  176.         this.add(c2);
  177.  
  178.         // Datenbanktreiber laden
  179.         try
  180.         {
  181.             Class.forName("com.mysql.jdbc.Driver");
  182.             System.out.println("Treiber erfolgreich geladen...");
  183.         }//try
  184.         catch(ClassNotFoundException e)
  185.         {
  186.             System.out.println("Fehler beim Laden des Treibers "+e);
  187.             System.exit(0);//Abbruch des Programm
  188.         }// catch(ClassNotFoundException e)
  189.  
  190.  
  191.         // Datenbankverbindung herstellen
  192.         try
  193.         {
  194.             dbVerbindung = DriverManager.getConnection("jdbc:mysql://localhost/kanuverleih","root","");
  195.             System.out.println("Verbindung erfolgreich...");
  196.         }//try
  197.         catch(SQLException e)
  198.         {
  199.             System.out.println("DB-Verbindung Fehler: "+e);
  200.             System.exit(0);
  201.         }// catch(SQLException e)
  202.     }//Init() Ende
  203.  
  204.     // Paint - Methode
  205.     public void paint (Graphics g)
  206.     {
  207.         g.drawImage(lahnverlauf,0,0,this);
  208.         g.setColor( Color.black );
  209.         g.drawRect(0,0,799,599);
  210.     }
  211.  
  212.     // Mouse Listener
  213.     public void mousePressed(MouseEvent evt){ }
  214.     public void mouseEntered(MouseEvent evt) { }
  215.     public void mouseExited(MouseEvent evt) { }
  216.     public void mouseClicked(MouseEvent evt) { }
  217.     public void mouseReleased(MouseEvent evt) { }
  218.  
  219.     // Methode, die auf Ereignisse (z.B. Button betaetigen reagiert)
  220.     public void actionPerformed(ActionEvent e)
  221.     {
  222.         String command = e.getActionCommand();
  223.         if(command=="Kanus buchen");
  224.         {
  225.             sqlString="SELECT Kosten FROM preis";
  226.  
  227.             // Anwenden der SQL Abfrage + Berechnung der Eingaben
  228.             try
  229.             {
  230.                 sqlStatement = dbVerbindung.createStatement();
  231.                 System.out.println("SQL-Statement erzeugt...");
  232.                 resultSet = sqlStatement.executeQuery(sqlString);
  233.  
  234.                 // nächste Datensatz holen bis Tabellenende erreicht
  235.                 while (resultSet.next())
  236.                 {
  237.  
  238.                     dbkanu=resultSet.getDouble(1);
  239.                     anzkl=tfklein.getText();
  240.                     anzgr=tfgross.getText();
  241.                     dbanzkl=Double.parseDouble(anzkl);
  242.                     dbanzgr=Double.parseDouble(anzgr);
  243.                     anzges=dbanzkl+dbanzgr;
  244.                     kostges=anzges*dbkanu;
  245.                     geskost=Double.toString(kostges);
  246.                 }
  247.  
  248.  
  249.                 // Tabelle schliessen
  250.                 resultSet.close();
  251.                 System.out.println("resultSet-Objekt zerstoert...");
  252.                 sqlStatement.close();
  253.                 System.out.println("sqlStatementobjekt zerstoert");
  254.                 System.out.println("Verbindung geschlossen...");
  255.             }//try
  256.                 catch(SQLException ex)
  257.                 {
  258.                 System.out.println("Fehler beim DB-Zugriff!"+ex);
  259.                 System.exit(0);
  260.         }// catch(SQLException ex)
  261.  
  262.  
  263.         lbort.setVisible(false);
  264.         lbstart.setVisible(false);
  265.         lbziel.setVisible(false);
  266.         lbanzkanus.setVisible(false);
  267.         lbklkanus.setVisible(false);
  268.         lbgrkanus.setVisible(false);
  269.         lbdaten.setVisible(false);
  270.         lbvnme.setVisible(false);
  271.         lbnnme.setVisible(false);
  272.         lbstrnr.setVisible(false);
  273.         lbplzort.setVisible(false);
  274.         lbmail.setVisible(false);
  275.         tfklein.setVisible(false);
  276.         tfgross.setVisible(false);
  277.         tfnnme.setVisible(false);
  278.         tfvnme.setVisible(false);
  279.         tfstr.setVisible(false);
  280.         tfnr.setVisible(false);
  281.         tfplz.setVisible(false);
  282.         tfort.setVisible(false);
  283.         tfmail.setVisible(false);
  284.         preis.setVisible(false);
  285.         c1.setVisible(false);
  286.         c2.setVisible(false);
  287.  
  288.         lbkorrekt.setVisible(true);
  289.         ausgabe.setVisible(true);
  290.         korrekt.setVisible(true);
  291.         abbruch.setVisible(true);
  292.  
  293.         ausgabe.setText(tfvnme.getText()+" "+tfnnme.getText()+"\n"+tfstr.getText()+" "+tfnr.getText()+"\n"+tfplz.getText()+" "+tfort.getText()+"\n"+tfmail.getText()
  294.                         +"\n\n"+tfklein.getText()+" kleine Kanus"+"\n"+tfgross.getText()+" Große Kanus"+"\n\n"+"Von "+c1.getSelectedItem()+" nach "+c2.getSelectedItem()+"\n\n"+geskost+" Euro Gesamt");
  295.         }
  296.  
  297.         if(command=="Bestätigen")
  298.         {
  299.             try
  300.             {
  301.                 sqlStatement = dbVerbindung.createStatement();
  302.                 PreparedStatement ps=dbVerbindung.prepareStatement("insert into kunden (Vorname,Name,Strasse,Hausnummer,Postleitzahl,Ort,eMail) values(?,?,?,?,?,?,?)");
  303.                 ps.setString(1,tfvnme.getText());
  304.                 ps.setString(2,tfnnme.getText());
  305.                 ps.setString(3,tfstr.getText());
  306.                 ps.setString(4,tfnr.getText());
  307.                 ps.setString(5,tfplz.getText());
  308.                 ps.setString(6,tfort.getText());
  309.                 ps.setString(7,tfmail.getText());
  310.                 ps.execute();
  311.                 sqlStatement.close();
  312.             }
  313.             catch (SQLException s)
  314.             {
  315.                 System.out.println("SQL statement is not executed!");
  316.                 s.printStackTrace();
  317.                 System.exit(0);
  318.             }
  319.             ausgabe.setVisible(false);
  320.             korrekt.setVisible(false);
  321.             abbruch.setVisible(false);
  322.             lbkorrekt.setVisible(false);
  323.             lbfertig.setVisible(true);
  324.         }
  325.  
  326.         if(command=="Abbrechen")
  327.         {
  328.             lbort.setVisible(true);
  329.             lbstart.setVisible(true);
  330.             lbziel.setVisible(true);
  331.             lbanzkanus.setVisible(true);
  332.             lbklkanus.setVisible(true);
  333.             lbgrkanus.setVisible(true);
  334.             lbdaten.setVisible(true);
  335.             lbvnme.setVisible(true);
  336.             lbnnme.setVisible(true);
  337.             lbstrnr.setVisible(true);
  338.             lbplzort.setVisible(true);
  339.             lbmail.setVisible(true);
  340.             tfklein.setVisible(true);
  341.             tfgross.setVisible(true);
  342.             tfnnme.setVisible(true);
  343.             tfvnme.setVisible(true);
  344.             tfstr.setVisible(true);
  345.             tfnr.setVisible(true);
  346.             tfplz.setVisible(true);
  347.             tfort.setVisible(true);
  348.             tfmail.setVisible(true);
  349.             preis.setVisible(true);
  350.             c1.setVisible(true);
  351.             c2.setVisible(true);
  352.  
  353.             lbkorrekt.setVisible(false);
  354.             ausgabe.setVisible(false);
  355.             korrekt.setVisible(false);
  356.             abbruch.setVisible(false);
  357.         }
  358.     }// actionPerformed() Ende
  359. }// Class Ende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement