Java Kursverwaltung(Standard Javaprogramm)

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
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:
Exception occurred during event dispatching:
java.lang.NullPointerException
at projekt1._dbConnect.insertPerson(_dbConnect.java:74)
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)
BUILD SUCCESSFUL (total time: 11 minutes 47 seconds)



Meine Codes sehen im folgenden so aus:


Datenbankschnittstelle

Code:
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

Code:
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

Code:
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

Code:
/*
 * 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                   

}
 
G

Gelöschtes Mitglied 5909

Gast
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

Mitglied
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
 
G

Gelöschtes Mitglied 5909

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

p.s. Klassennamen schreibt man groß ;)
 
G

Guest

Gast
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
 
G

Guest

Gast
"den Aufruf an entspr. Stelle", mein ich...Pardon :)

gru?,
zottel
 

Siassei

Bekanntes Mitglied
Servus,

Code:
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 :D
 

zottel500

Mitglied
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

Mitglied
Hallo,

ich habe meine Klasse _dbConnect um folgende Methode bereichert:

Code:
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:
Code:
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
 

zottel500

Mitglied
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:

Code:
 // 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???

Code:
jComboBox1.addItem(_dbConnect.getInstanz().showRaumName());


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

Gruß,
zottel
 
G

Guest

Gast
Versuch's mal so
Code:
jComboBox1.setModel(
   new DefaultComboBoxModel(
      _dbConnect.getInstanz().showRaumName().toArray()
   )
);
 

KSG9|sebastian

Top Contributor
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:
Code:
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

Mitglied
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
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
P Reicht finally nicht um DB connections zu schließen in (altem) Java? Datenbankprogrammierung 4
A Java DB Server lässt sich nicht starten Datenbankprogrammierung 3
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
U SQL Server mit Java verbinden Datenbankprogrammierung 5
D SQLite Datenbank in Android Studio (Java) durchsuchen Datenbankprogrammierung 3
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Noobfrage: Konvertierung von SQL-Datentyp 'timestamp with time zone' in Java-Datentyp Datenbankprogrammierung 3
Zrebna Lediglich interne DB-Verbindungen (Connections) auslesen - mittels Java Datenbankprogrammierung 4
berserkerdq2 Was genau muss ich bei date eingeben, wenn ich in Java eine Spalte definiere, die date ist? Datenbankprogrammierung 1
berserkerdq2 Was kann passieren, wenn ich in java einstelle, dass der Fremdschüssel ein Attribut ist, welches selber kein Primärschlüssel ist? Datenbankprogrammierung 4
berserkerdq2 Foreign key einstellen java Datenbankprogrammierung 4
nikgo Java SQL Ausgabe in Liste o.ä. abspeichern um mit dem Ergbnis "zu arbeiten"? Datenbankprogrammierung 5
S Datenbankprogrammierung in Java unter NetBeans 12 funktioniert nicht! Datenbankprogrammierung 1
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
S ODBC Treiber in Java Editor einbinden Datenbankprogrammierung 3
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
H Java Class zum komprimieren von Jpeg-Images zum Einbinden in Oracle DB - Bild als blob (in und out) Datenbankprogrammierung 23
V SQLite java.sql.SQLException: no such column: Datenbankprogrammierung 18
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Slaylen Java List Suchen mit eigenem Generischen Datentyp Datenbankprogrammierung 10
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
D SQL Server Android App: 'int java.lang.String.length()' on a null object reference Datenbankprogrammierung 15
P USER Management in SQL übergreifend auf JAVA Programm Datenbankprogrammierung 1
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
N java SQL JAR - Probleme Datenbankprogrammierung 18
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
N SQL-Statement Java Variable in SQL DB einfügen Datenbankprogrammierung 1
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
T Java Spiel Daten speichern Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
L Mybatis Datenbankabfragen in Java Datenbankprogrammierung 1
H MariaDB-Zugriff mittels Java SE Datenbankprogrammierung 3
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
S Datenbank MySQL und Java Datenbankprogrammierung 8
S Beispiel-Blockchain + GUI mit Java erstellen Datenbankprogrammierung 0
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
Trèfle SQLite SQL-Java Änderungen ausgeben Datenbankprogrammierung 1
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
A MySQL Select und Insert in Java Datenbankprogrammierung 15
C Derby/JavaDB Auf Variable aus Link in java server page zugreifen Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
F MySQL Einfügen von Datensätzen über Java Datenbankprogrammierung 8
B CSV in Java einbinden und Rechnung Datenbankprogrammierung 7
L Speicherverbrauch Java Anwendung mit einer Datenbankanbindung Datenbankprogrammierung 19
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
S Datenbank/Java true/false Datenbankprogrammierung 8
S Java und SQL-Befehle Datenbankprogrammierung 6
L INSERT INTO Befehl in Java Datenbankprogrammierung 8
L Datenbankprogrammierung mit Java und phpMyAdmin Datenbankprogrammierung 4
Korvinus Java mit Cassandra verbinden Datenbankprogrammierung 18
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
D Installation von MariaDB in java und eclipse Datenbankprogrammierung 2
H Datenbank Export mit Java Datenbankprogrammierung 3
I MariaDB-Verbindung in JAVA Datenbankprogrammierung 11
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29
W Daten in Java intern abfragen Datenbankprogrammierung 1
W MySQL Ausgabe von Datenbank in Java-App Datenbankprogrammierung 6
D Java Datenbanken Datenbankprogrammierung 1
Y H2 H2 foreign key in Spark Java ausgeben Datenbankprogrammierung 1
J Java Eclipse Hilfe beim Programmieren Datenbankprogrammierung 7
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
C Mit asm laufende Java Anwendung manipulieren Datenbankprogrammierung 1
W Wie liest dieses Java-Programm der Compiler? Datenbankprogrammierung 3
K Java Datenbank auslesen Datenbankprogrammierung 8
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K HSQLDB .sql Script Aufruf über Java Datenbankprogrammierung 7
B Java Programm und Dantebank umlagern Datenbankprogrammierung 25
B MySQL bplaced Datenbank mit Java ansprechen Datenbankprogrammierung 11
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
F Java Objekte in einer Datenbank speichern Datenbankprogrammierung 4
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
O PostgreSQL Java Row Index erhalten Datenbankprogrammierung 1
dzim Cassandra Cluster DB und der Java-Treiber Datenbankprogrammierung 1
H Entity in Java implementieren Datenbankprogrammierung 13
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
D MySQL Many to Many Tabellen in Java abbilden? Datenbankprogrammierung 4
P Datanbank für Java-Programmierung Datenbankprogrammierung 10
F Java SQLite Error Datenbankprogrammierung 19
F SQL Datenbank an Java Code anbinden Datenbankprogrammierung 5
J Java 8 und Microsoft Access Database-Dateien(mdb) Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
M Wie übergebe ich Datenbankobjekte aus einer sql-Datenbank einer Java Klasse bzw. Instanz Datenbankprogrammierung 7
D Zeit von SQL nach Java Datenbankprogrammierung 2
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
M Java Datenbankanbindung funktioniert nicht Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben