# Java Kursverwaltung(Standard Javaprogramm)



## Guest (21. Mai 2008)

Hallo Forum,

ich bin gerade dabei, ein kleines Java-/Datenbankprogramm zu schreiben. Es soll Standardaufgaben wie "INSERT, UPDATE, SELECT, DELETE" verwalten. Leider bin ich an einem Punkt angelangt, wo ich nicht mehr weiter komme.


bisher habe ich folgendes implementiert:

- Datenbank mit 6 Kernentitäten
- Klasse für die Datenbankverbindung sowie SQL-Methoden
- Datencontainer für Arrays bzw. Vectoren
- Klasse für die Attribute einer Person (Name, Vorname, Adresse usw.)
- GUI bzw. Formular zum Hinzufügen von Daten in di DB


Meine IDE zeigt keine Fehler mehr an. Nach ausführen des Programms öffnen sich auch meine GUI/Formular. Nach Eingabe von Daten und letztlich des betätigen des "Übernehmen-Buttons", bekomme ich folgende Fehlerausgabe.




> init:
> deps-jar:
> compile:
> run:
> ...





Meine Codes sehen im folgenden so aus:


Datenbankschnittstelle


```
package projekt1;


import java.sql.*;   // saemtl. SQL-Klassen
import java.util.*;  // saemtl. Hilfsklassen 

public class _dbConnect 
{
  private static _dbConnect dbConnection = null;
  private Connection conn = null;
  private Statement stmt = null;
  private ResultSet res = null;
  private String dbUrl = null;
  private String dbHost = "127.0.0.1";
  private String dbSchema = "java_prog";
  private String dbUser = "admin";
  private String dbUserPwd = "J00ml4!";

  private _dbConnect() {
  }

  public static _dbConnect getInstanz() {
    if (dbConnection == null) {
      // Konstruktor kann nur einmal aufgerufen werden
      dbConnection = new _dbConnect();
    }
    return dbConnection;
  }

  public void removeConnection() {
    if (dbConnection != null) {
      try {
        // this.res.close();
        this.stmt.close();
        this.conn.close();
        _dbConnect.dbConnection = null;
      }
      catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }

  public void initConnection(String host, String schema, String user, String pwd) throws Exception {

    this.dbHost = host;
    this.dbSchema = schema;
    this.dbUser = user;
    this.dbUserPwd = "";
    this.dbUrl = "jdbc:mysql://" + this.dbHost + "/" + this.dbSchema;

    // Connector/J Datenbank-Treiber laden
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    // mit MySQL verbinden
    conn = DriverManager.getConnection(dbUrl, dbUser, dbUserPwd);

    // MySQL-Statement-Objekt erzeugen
    stmt = conn.createStatement();


  }

  
   public void insertPerson(_person person) {
    String sql;
    
    sql = "INSERT INTO person (vorname, name, telefonnummer, email, adresse) " +
          "VALUES ('" +
      person.getVorName() + "', '" + 
      person.getName() + "', '" + person.getTelefon() + "', " + 
      person.getEmail() + ", " + person.getAdresse() + ");";

    try {
      stmt.executeUpdate(sql);
      res = stmt.executeQuery("SELECT LAST_INSERT_ID() FROM person");

      _puffer.getInstance().refreshPerson();
    }
    catch (SQLException e) 
    {
           e.printStackTrace();
    }
  }

   
   
   // Alle Entities Table "Person"
 public ArrayList<_person> showAllPersons() {

    ArrayList<_person> liste = new ArrayList<_person>();
    String sql1 = "SELECT * FROM Person;";

    try {
      res = stmt.executeQuery(sql1);
      while (res.next()) 
      {
         _person personAdd = new _person
         (
          res.getString("vorName"), res.getString("Name"), res.getString("Telefon"), 
          res.getString("Email"), res.getString("Adresse")
          );

        liste.add(personAdd);
      }

      res.close();
    }
    catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    return liste;
  }  
   
   
   
 
}
```


Datencontainer


```
package projekt1;

import java.util.*;


public class _puffer extends Observable 
{

  private static _puffer instance = null;
  private ArrayList<_person> person;
  //private Vector<Wettbewerb> wettbewerbe;

  private _puffer() 
  {this.init();}

  private void init() 
  {
    this.person = new ArrayList<_person>();
  }

  public static _puffer getInstance() {
    if (instance == null) {
      instance = new _puffer();
    }
    return instance;
  }
  
  
  
 
  public ArrayList<_person> getPerson() 
  {
    return this.person;
  }
  
  
  public void refreshPerson() {
    this.person.clear();
    this.person.addAll(_dbConnect.getInstanz().showAllPersons());
    this.setChanged();
    this.notifyObservers();
  }
  
  
  
}
```


Objekte von Personen


```
package projekt1;

public class _person {

    private int personID;
    private String vorName;
    private String Name;
    private String Telefon;
    private String Email;
    private String Adresse;
    
    
    public _person(String vorName, String Name, String Telefon, String Email, String Adresse) {
        this.vorName = vorName;
        this.Name = Name;
        this.Telefon = Telefon;
        this.Email = Email;
        this.Adresse = Adresse;
       // this.personID = personID;
    }

    public int getpersonID() {
        return personID;
    }

    public void setpersonID(int personID) {
        this.personID = personID;
    }
    
    public String getVorName() {
        return vorName;
    }

    public void setVorName(String vorName) {
        this.vorName = vorName;
    }

    public String getName() {
        return Name;
    }

    public void setName(String Name) {
        this.Name = Name;
    }

    public String getTelefon() {
        return Telefon;
    }

    public void setTelefon(String Telefon) {
        this.Telefon = Telefon;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String Email) {
        this.Email = Email;
    }

    public String getAdresse() {
        return Adresse;
    }

    public void setAdresse(String Adresse) {
        this.Adresse = Adresse;
    }
    
    
   
    
    
}
```

GUI


```
/*
 * main_register.java
 *
 * Created on 6. Mai 2008, 18:37
 */

package projekt1;

/**
 *
 * @author  dunz' + weber
 */
public class _main_register_test extends javax.swing.JDialog {

    /** Creates new form main_register */
    public _main_register_test(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        this.setLocationRelativeTo(null);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        label2 = new java.awt.Label();
        label3 = new java.awt.Label();
        label1 = new java.awt.Label();
        label7 = new java.awt.Label();
        label8 = new java.awt.Label();
        main_register_street = new javax.swing.JTextField();
        main_register_prename = new javax.swing.JTextField();
        main_register_name = new javax.swing.JTextField();
        main_register_mail = new javax.swing.JTextField();
        main_register_phone = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jButton1.setText("Abbrechen");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("Absenden");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        label2.setText("Vorname:");

        label3.setText("E-Mail Adresse:");

        label1.setText("Name:");

        label7.setText("Telefonnummer:");

        label8.setText("Straße:");

        main_register_mail.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                main_register_mailActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(406, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(label8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(136, 136, 136)
                            .addComponent(main_register_street, javax.swing.GroupLayout.DEFAULT_SIZE, 218, Short.MAX_VALUE))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(35, 35, 35)
                            .addComponent(jButton2)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 203, Short.MAX_VALUE)
                            .addComponent(jButton1)))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(90, 90, 90)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(main_register_mail, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(main_register_prename, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(main_register_name, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 218, Short.MAX_VALUE)
                            .addComponent(main_register_phone))))
                .addGap(103, 103, 103))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(main_register_name, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(main_register_prename, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(main_register_mail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(40, 40, 40)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(main_register_phone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(label8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(main_register_street, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(235, 235, 235)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton2)
                    .addComponent(jButton1))
                .addGap(37, 37, 37))
        );

        pack();
    }// </editor-fold>                        

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
this.dispose();// TODO add your handling code here:
}                                        

private void main_register_mailActionPerformed(java.awt.event.ActionEvent evt) {                                                   
// TODO add your handling code here:
}                                                  

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // Daten holen und in DB schreiben
    this.addPerson();
    this.clearTxtFelder();
    this.dispose();
}                                        

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                _main_register_test dialog = new _main_register_test(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }
    
    // Methoden zum abholen der Daten
    private void addPerson(){
    String name = main_register_name.getText();
    String vorname = main_register_prename.getText();
    String email = main_register_mail.getText();
    String telefonnummer = main_register_phone.getText();
    String adresse = main_register_street.getText();

    
    
    
    _person neuePerson = new _person(vorname, name, telefonnummer, email, adresse);
    _dbConnect.getInstanz().insertPerson(neuePerson);
  }
  
  
 private void clearTxtFelder() {
    main_register_name.setText(null);
    main_register_prename.setText(null);
    main_register_mail.setText(null);
    main_register_phone.setText(null);
 }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private java.awt.Label label1;
    private java.awt.Label label2;
    private java.awt.Label label3;
    private java.awt.Label label7;
    private java.awt.Label label8;
    private javax.swing.JTextField main_register_mail;
    private javax.swing.JTextField main_register_name;
    private javax.swing.JTextField main_register_phone;
    private javax.swing.JTextField main_register_prename;
    private javax.swing.JTextField main_register_street;
    // End of variables declaration                   

}
```


----------



## Gelöschtes Mitglied 5909 (21. Mai 2008)

ohne jetzt alles durchgeguggt zu haben:
da is wohl zeile 74 stmt null weil du initConnection nicht aufgerufen hast

btw.: klassennamen die mit _ beginnen? *gänsehaut*


----------



## zottel500 (21. Mai 2008)

Hallo und Danke schonmal!

Was genau meinst Du mit ich muss initConnection noch aufrufen? Wir das nicht abgearbeitet?
Ich bin noch blutiger Anfänger, daher auch die "_Klassennamen". Ich wollte eigentlich nur erreichen das jene Dateien bei alphabetischer Sortierung oben stehen.

Gruß,
zottel500


----------



## Gelöschtes Mitglied 5909 (21. Mai 2008)

main wird abgearbeitet.
da steht zwar _dbConnect.getInstanz() aber darin wird nirgends initConnection aufgerufen

p.s. Klassennamen schreibt man groß


----------



## Guest (22. Mai 2008)

Ich komme mit dieser initConnection() nicht klar. Egal wo ich die Methode aufrufen lasse, markiert mir die IDE Fehler.

Kannst Du mir vllt. mal den auf an entsprechender Stelle Posten?

Gruß,
zottel


----------



## Guest (22. Mai 2008)

"den Aufruf an entspr. Stelle", mein ich...Pardon 

gru?,
zottel


----------



## Siassei (22. Mai 2008)

Servus,


```
public static _dbConnect getInstanz() {
    if (dbConnection == null) {
      // Konstruktor kann nur einmal aufgerufen werden
      dbConnection = new _dbConnect();
    }
    // Überprüfe hier, ob stmt == null ist und ob die Verbindung + Statement noch gültig sind
    return dbConnection;
  }
```
Verbindungen und alle abhängige Objekte (Standarteinstellung) nach x Sekunden automatisch geschlossen


----------



## zottel500 (22. Mai 2008)

Sorry ich steh voll auf dem Schlauch!

Was meinst Du was das Problem und dessen Lösung ist?
Ich habe doch die Funktion in meiner _dbConnect. Ich würde das wirklich gerne begreifen *confused*


gruß,
zottel


----------



## zottel500 (22. Mai 2008)

Hallo,

ich habe meine Klasse _dbConnect um folgende Methode bereichert: 


```
private _dbConnect() {
                try {
                        initConnection(dbHost, dbSchema, dbUser, dbUserPwd);
                } catch(Exception e) {
                        System.out.println("Could not establish database connection.");
                        e.printStackTrace();
                        System.exit(1);
                }
    }
```



Die Fehlerausgabe sieht nun so aus: 

```
init:
deps-jar:
Compiling 1 source file to F:\netzbohnen\projekt1_1\projekt1\build\classes
compile:
run:
Could not establish database connection.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at projekt1._dbConnect.initConnection(_dbConnect.java:66)
        at projekt1._dbConnect.<init>(_dbConnect.java:24)
        at projekt1._dbConnect.getInstanz(_dbConnect.java:38)
        at projekt1._main_register_test.addPerson(_main_register_test.java:188)
        at projekt1._main_register_test.jButton2ActionPerformed(_main_register_test.java:154)
        at projekt1._main_register_test.access$100(_main_register_test.java:13)
        at projekt1._main_register_test$2.actionPerformed(_main_register_test.java:56)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5806)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4413)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2440)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
        at java.awt.Dialog$1.run(Dialog.java:1045)
        at java.awt.Dialog$3.run(Dialog.java:1097)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Dialog.show(Dialog.java:1095)
        at java.awt.Component.show(Component.java:1422)
        at java.awt.Component.setVisible(Component.java:1375)
        at java.awt.Window.setVisible(Window.java:806)
        at java.awt.Dialog.setVisible(Dialog.java:985)
        at projekt1.main_window.main_window_button_registerActionPerformed(main_window.java:152)
        at projekt1.main_window.access$400(main_window.java:15)
        at projekt1.main_window$5.actionPerformed(main_window.java:83)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5806)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4413)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2440)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Java Result: 1
BUILD SUCCESSFUL (total time: 11 seconds)
```


Hab noch etwas gegoogelt. Der Fehler bedeutet wohl das mein Treiber für Mysql nicht geladen wird.

Wie und Wo hole ich das nach?

gruß,

zottel


----------



## Gelöschtes Mitglied 5909 (23. Mai 2008)

java.lang.ClassNotFoundException:

=> Jar mit dem treiber fehlt

http://dev.mysql.com/downloads/connector/j/5.1.html


----------



## zottel500 (24. Mai 2008)

Hallo Leute und schonmal Danke für die Hilfe bisher.
Das Programm entwickelt sich und die ersten Funktionen(Insert aus Swing-Formular) funktionieren schon.

Jetzt hänge ich an einer neuen Stelle. Ich habe folgende Funktion in meiner Klasse_dbConnect:


```
// RaumName an admin_room_edit
 /******************************************************/  
 public ArrayList <_raum> showRaumName() 
 {
    ArrayList <_raum> liste = new ArrayList<_raum>();
    String sqlSelect = "SELECT * FROM Raum";

    try 
    {
      res = stmt.executeQuery(sqlSelect);
      while (res.next()) 
      {
         _raum raumShow = new _raum
         (res.getString("Name_R"));

        liste.add(raumShow);
      }
      res.close();
    }
    catch (SQLException e) 
    {
      e.printStackTrace();
    }
    return liste;
  }
```

Die Raumnamen die ich jetzt in meiner "Liste" habe, sollen in eine JComboBox.
Dazu müsste ich doch in der entspr. GUI-Klasse folgenden Aufruf tätigen und fertig???


```
jComboBox1.addItem(_dbConnect.getInstanz().showRaumName());
```


Ich bekomme in der ComboBox aber nicht die gewünschten Items angezeigt.

Gruß,
zottel


----------



## Guest (25. Mai 2008)

Versuch's mal so
	
	
	
	





```
jComboBox1.setModel(
   new DefaultComboBoxModel(
      _dbConnect.getInstanz().showRaumName().toArray()
   )
);
```


----------



## KSG9|sebastian (26. Mai 2008)

Hi,

was bekommst du denn in der ComboBox angezeigt?
Die Quick'n'Dirty-Lösung wäre die toString()-Methode in der Klasse "_raum" zu überschreiben.

Wenn der Name angezeigt werden soll müsste das dann so aussehen:

```
class _raum{
... deine Felder und Methoden ...

@Override
public String toString(){
   return raumName; // raumName = Variable welche den Namen es Raums hat
}

}
```

Ach ja...Klassen schreibt man Groß und ohne "_".


----------



## zottel500 (26. Mai 2008)

Hallo,

Vielen Dank für das nette Angebot. Ich habe die letzten Tage mehrere Nachtschichten eingelegt und ein präsentationsreifes Programm erstellt.

Mein Dank gilt Euch allen.

Ich werde was das Programmieren angeht, auf jedenfall am Ball bleiben. Eine Anlaufstelle für Fragen habe ich ja


gruß,
zottel


----------



## KSG9|sebastian (26. Mai 2008)

Okay, dann mach ich hier mal nen Hacken dran.

Gruß Sebastian


----------

