Portal > Foren > Java > Desktop-Applikationen und Grafik > Grafische Datenbankschnittstelle(Swing)
Antwort
 
Themen-Optionen
Alt 22.05.2008, 14:21 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 22.05.2008
Beiträge: 6
Standard Grafische Datenbankschnittstelle(Swing)

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 die DB (naja die GUI's machen 2 Freunde von mir)


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


Zitat:
init:
deps-jar:
compile:
run:
Exception occurred during event dispatching:
java.lang.NullPointerException
at projekt1._dbConnect.insertPerson(_dbConnect.java:7 4)
at projekt1._main_register_test.addPerson(_main_regis ter_test.java:18
at projekt1._main_register_test.jButton2ActionPerform ed(_main_register_test.java:154)
at projekt1._main_register_test.access$100(_main_regi ster_test.java:13)
at projekt1._main_register_test$2.actionPerformed(_ma in_register_test.java:56)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:231
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 6)
at java.awt.Container.processEvent(Container.java:205
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.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_registerAc tionPerformed(main_window.java:152)
at projekt1.main_window.access$400(main_window.java:1 5)
at projekt1.main_window$5.actionPerformed(main_window .java:83)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:231
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 6)
at java.awt.Container.processEvent(Container.java:205
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:16
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.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                   
   
  }
zottel500 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 14:29 Nach oben    #2
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Das da:
Zitat:
at projekt1._dbConnect.insertPerson(_dbConnect.java:7 4)
sagt uns, dass der Fehler in der Klasse _dbConnect in Zeile 74 zu finden ist. Magst du die mal raussuchen?
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 14:39 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 22.05.2008
Beiträge: 6
Standard

An der Stelle soll ein INSERT ausgeführt werden.
Code:
      stmt.executeUpdate(sql);

Kann es ein, das meine "init" nicht richtig funktioniert?

Code:
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();
gruß,
zottel
zottel500 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 14:44 Nach oben    #4
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Kann's sein, dass du die nie irgendwo aufrufst? Dann würde die selbstverständlich nicht funktionieren, was den Fehler erklären würde.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 14:47 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 22.05.2008
Beiträge: 6
Standard

Ich habe die Methode schon öfter versucht aufzurufen. Ich bekomme dann immer Fehler von der IDE.

Ich habe doch alle meine codes gepostet. Kannst Du mir mal einen richtigen Funktionsaufruf an entspr. Stelle posten?

gruß,
zottel
zottel500 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 15:39 Nach oben    #6
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

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);
		}
    }
Als ein Beispiel. Es hängt natürlich davon ab, an welcher Stelle es Sinn macht, die Verbindung zu erzeugen.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 15:48 Nach oben    #7
Neuer Benutzer
 
Registriert seit: 22.05.2008
Beiträge: 6
Standard

Hi,
meine _dbConnect sieht nun so aus:

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() {
  //}

   private _dbConnect() {
        try {
            initConnection(dbHost, dbSchema, dbUser, dbUserPwd);
        } catch(Exception e) {
            System.out.println("Could not establish database connection.");
            e.printStackTrace();
            System.exit(1);
        }
    }
  
  
  
  
  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;
  }  
   
   
   
 
}


Wenn ich das projekt nun laufen lasse und durch das Formular Daten schreiben lassen möchte bekomme ich folgende Fehlerausgabe:

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: 12 seconds)
zottel500 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 16:02 Nach oben    #8
Neuer Benutzer
 
Registriert seit: 22.05.2008
Beiträge: 6
Standard

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 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 17:01 Nach oben    #9
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Du musst die Jar, in der der Treiber ist, zum Classpath hinzufügen. Wie du das bei Eclipse machen kannst, kann ich dir nicht sagen. Vermutlich irgendwo in den Projekt-Einstellungen.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.05.2008, 17:47 Nach oben    #10
Neuer Benutzer
 
Registriert seit: 22.05.2008
Beiträge: 6
Standard

Hallo Pago,

nochmals Vielen Dank.

Habe Library hinzugefügt und dieser Fehler ist weg.


Ich habe nun immer hin den Teilerfolg, Fehlermeldung von der Datenbank zu bekkommen(falls ich die Ausgabe richtig interpretiere

Code:
init:
deps-jar:
Compiling 1 source file to F:\netzbohnen\projekt1_1\projekt1\build\classes
compile:
run:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'ghfgfgh' in 'field list'
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3250)
        at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1355)
        at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1270)
        at projekt1._dbConnect.insertPerson(_dbConnect.java:92)
        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: 17 seconds)

Wo habe ich den Fehler zu suchen?

gruß,
zottel
zottel500 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.05.2008, 10:50 Nach oben    #11
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Da wo du deine Query definiert hast. Irgendwie heißt der Query zufolge eine deiner Spalten wohl "ghfgfgh". Im Zweifelsfall kannst du ja auch mal danach suchen.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Linux] Grafische Oberfläche für root-User kampfgnom Tools, Server, Betriebssysteme 6 24.11.2007 17:37
Eigene grafische Komponenten schreiben BadBeu Desktop-Applikationen und Grafik 9 29.05.2005 08:54
PlugIn für grafische Oberflächen zu Eclipse pixel Eclipse 2 29.04.2005 20:59
Grafische Oberfläche Nike Tools, Server, Betriebssysteme 14 02.02.2005 08:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:05 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44