2016-04-25 15 views
1

Ich habe eine College-Aufgabe gegeben, um Daten in eine MySQL-Tabelle mit Java-Applets einfügen. Wenn ich den Submit-Button drücke, wirft die Eingabeaufforderung viele Ausnahmen (Bild angehängt) und keine Daten werden in die Tabelle eingefügt.Einfügen von Daten in MySQL-Tabelle mit Java-Applets

Im Anschluss ist mein Code:

//Student registration Form (using applets and awt controls) 
import java.awt.*; 
import java.awt.event.*; 
import java.applet.*; 
import java.sql.*; 
import java.util.*; 

public class mysql4 extends Applet implements ActionListener{ 

    Label l1 = new Label("Roll No. : "); 
    TextField t1 = new TextField("",10); 
    Label l2 = new Label("Name : "); 
    TextField t2 = new TextField("",20); 
    Label l3 = new Label("Gender : "); 
    CheckboxGroup radioGroup = new CheckboxGroup(); 
    Checkbox r1 = new Checkbox("Male", radioGroup, false); 
    Checkbox r2 = new Checkbox("Female", radioGroup, true); 
    Label l4 = new Label("Hobbies : "); 
    Checkbox c1 = new Checkbox("Sports"); 
    Checkbox c2 = new Checkbox("Cooking/Gardening"); 
    Checkbox c3 = new Checkbox("Music"); 
    Checkbox c4 = new Checkbox("Arts/Crafts"); 
    Label l5 = new Label("Course Opted : "); 
    Choice l=new Choice(); 
    Label l6 = new Label("FeedBack : ",Label.CENTER); 
    TextArea ta = new TextArea("",15,20); 
    Button b1 = new Button("Submit"); 
    Button b2 = new Button("Reset"); 
    public void init() { 
     l1.setAlignment(Label.CENTER); 
     add(l1); 
     add(t1);  
     add(l2); 
     add(t2);  
     add(l3); 
     add(r1); 
     add(r2); 
     add(l4); 
     add(c1); 
     add(c2); 
     add(c3); 
     add(c4); 
     add(l5); 
     l.add("BCA"); 
     l.add("MCA"); 
     l.add("PGDCA"); 
     add(l); 
     add(l6); 
     add(ta); 
     b1.addActionListener(this); 
     add(b1); 
     b2.addActionListener(this); 
     add(b2); 
    } 
    public void actionPerformed(ActionEvent e){ 
     if(e.getSource()==b1){ 
      try{ 
       String myDriver = "com.mysql.jdbc.Driver"; 
       String myUrl = "jdbc:mysql://localhost:3306/sonoo?useSSL=false"; 
       Class.forName(myDriver); 
       Connection con = DriverManager.getConnection(myUrl, "root", "12345678"); 
       String query = "insert into details (RollNo, Name, Gender, Hobbies, Course, FeedBack)" + " values (?, ?, ?, ?, ?, ?)"; 
       PreparedStatement ps = con.prepareStatement(query); 
       ps.setString (1, l1.getText()); 
       ps.setString (2, l2.getText()); 
       Checkbox chkr = radioGroup.getSelectedCheckbox(); 
       ps.setString (3, chkr.getLabel()); 
       Checkbox chk = radioGroup.getSelectedCheckbox(); 
       ps.setString (4, chk.getLabel()); 
       ps.setString (5, l.getSelectedItem()); 
       ps.setString (6, ta.getText()); 
       ps.execute(); 
       con.close(); 
      }catch(Exception ex){ 
       ex.printStackTrace(); 
       System.out.println(ex.getMessage()); 
      } 
     }else if(e.getSource()==b2){ 
      t1.setText(" "); 
      t2.setText(" "); 
      r1.setState(false); 
      r2.setState(true); 
      c1.setState(false); 
      c2.setState(false); 
      c3.setState(false); 
      c4.setState(false); 
      l.select("BCA"); 
      ta.setText(" "); 
     }else{} 
    } 
} 

Ausgang: enter image description here

AppletLayout: enter image description here

+0

sieht aus wie Sie eine falsche Version von mysql JDBC-Treiber haben. Passen MySQL und mysql jdbc Treiberversionen überein? –

+0

1) Warum ein Applet codieren? Wenn es aufgrund der Angabe des Lehrers geschieht, verweisen Sie bitte auf [Warum CS-Lehrer ** aufhören sollten ** Java-Applets zu unterrichten] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-teaching-Java-Applets /). 2) Warum AWT verwenden? Siehe [diese Antwort] (http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978) aus vielen guten Gründen, AWT mit Komponenten zugunsten von Swing zu verlassen. .. –

+0

.. 3) Siehe [Java Plugin-Unterstützung veraltet] (http://www.gizmodo.com.au/2016/01/rest-in-hell-java-plug-in/) und [Wechsel zu einem Plugin -Free Web] (https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free). 4) Veröffentlichen Sie keine Screenshots eines DOS-Fensters! Kopieren Sie stattdessen den Text, der darin enthalten ist. Der Text wird weniger Bytes und nützlicher für Suchmaschinen sein. –

Antwort

0

Sie ein AccessControlException bekommen, wenn der Fahrer versucht, die file.encoding Eigenschaft zu lesen. Das Applet muss diese Berechtigung erhalten, damit der Treiber funktioniert.

+0

Wie kann ich dem Applet die Erlaubnis erteilen? Könnten Sie bitte näher ausführen? – user3382203

+0

Fragen Sie stattdessen Ihre bevorzugte Suchmaschine. Applets sind eine tote Technologie, aber es gibt immer noch eine Menge Dokumentation darüber. – Kayaman