# Abfrage-Problem (sql)



## 4ak (26. Mrz 2007)

Guten Abend allerseits,
ich habe folgendes Problem:
In der Klasse Bestellung habe ich ein Fenster (gui aus netbeans), welches per Button auf eine Datenbank zugreifen soll. Zu meiner Frage interessiert vorerst eigentlich nur die Gesamtabfrage. Es handelt sich um Bestellungen, die bis zu 4 Positionen aufweisen können (Tabelle Bestellung und Tabelle Position). In der Klasse Dball2 befindet sich die Abfrage selber, die eigentlich meines Wissens keine Fehler aufweisen dürfte. Ich denke, der Fehler liegt irgendwo bei dem Aufruf in Bestellung. Komischerweise lässt sich alles kompilieren. Wenn ich auf den Button jButton5 (Alle Anzeigen) klicke wird aber keine Tabelle angezeigt. Warum? Ich bin verzweifelt und für ejde Hilfe dankbar. Nachfolgend der Code.

gruß pazi

Abfrage-Klasse:


```
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Vector;
import javax.swing.JTable;

public class Dball2 {
    
    
    public	JTable table;
    public ResultSet rst; 
    /** Creates a new instance of Datenanbindung */
     public void selcall(String ort,String ort2,String joinfeld) {
     	
        
     	
        Vector columnNames = new Vector();
        Vector data = new Vector();
       try{
            //Abfrage alles anzeigen
            String query = "SELECT * FROM "+ort2+","+ort+" WHERE "+ort2+"."+joinfeld+" = "+ort+"."+joinfeld+";";
            //Datenbankverbindung herstellen
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:/InMa/InmaBuchhandlung.mdb","","" );
            System.out.println("Connection Successful ");
            Statement stmt = con.createStatement();
            ResultSet rst = stmt.executeQuery(query);
            
            ResultSetMetaData md = rst.getMetaData();
            int columns = md.getColumnCount();
            //  Spaltennamen ermitteln
            for (int i = 1; i <= columns; i++) {
                String colname=md.getColumnName(i);
                columnNames.addElement( colname );
            }
            //  Zeileninhalt ermitteln
            while (rst.next()) {
                Vector row = new Vector(columns);
                for (int i = 1; i <= columns; i++) {
                    row.addElement( rst.getObject(i) );
                }
                data.addElement( row );
            }
            rst.close();
            stmt.close();
        } catch(Exception e) {
            e.printStackTrace();
        }
        
        //  Tabelle erzeugen
        table = new JTable(data, columnNames);
        
     }
     public JTable rückantw()
        {
        	return this.table;
        }
     
     public ResultSet rückrst()
     {
     	return this.rst;
     }
    }
```

Fenster mit Aufruf der Abfrage (Button Zeile 86, Aufruf der Abfrage Zeile 297):


```
import java.sql.SQLException;
 
public class Bestellung extends javax.swing.JFrame {
    
    /** Creates new form Bestellung */
    public Bestellung() throws SQLException{
        initComponents();
    }
    
    /** 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.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jSeparator1 = new javax.swing.JSeparator();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jButton2 = new javax.swing.JButton();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        bestellnummerF = new javax.swing.JTextField();
        isbn1F = new javax.swing.JTextField();
        isbn2F = new javax.swing.JTextField();
        isbn3F = new javax.swing.JTextField();
        isbn4F = new javax.swing.JTextField();
        bestelldatumF = new javax.swing.JTextField();
        kundennummerF = new javax.swing.JTextField();
        anzahl1F = new javax.swing.JSpinner();
        anzahl2F = new javax.swing.JSpinner();
        anzahl3F = new javax.swing.JSpinner();
        anzahl4F = new javax.swing.JSpinner();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        jLabel1.setText("Bestellung");

        jLabel2.setText("BestellNr.:");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 456, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 142, Short.MAX_VALUE)
        );

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

        jLabel4.setText("KundenNr.:");

        jLabel5.setText("ISBN");

        jLabel6.setText("BestellDatum");

        jLabel7.setText("BestellNr.:");

        jButton2.setText("Bestellung Aufnehmen");
		jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        
        jLabel8.setText("Bestellungen Anzeigen");
		
        jButton5.setText("Alle Anzeigen");
		jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });
        
        jButton3.setText("Bearbeiten");
		jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt)  {
                try {
					jButton3ActionPerformed(evt );
				} catch (SQLException e) {
					
					e.printStackTrace();
				} 
            }
            });
                
        jButton4.setText("L\u00f6schen");
		jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(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()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel2)
                        .addGap(30, 30, 30)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1)
                        .addGap(20, 20, 20)
                        .addComponent(jButton5))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 456, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel5)
                                    .addGroup(layout.createSequentialGroup()
                                        .addGap(10, 10, 10)
                                        .addComponent(jLabel4)))
                                .addGap(19, 19, 19)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(isbn2F)
                                    .addComponent(kundennummerF, javax.swing.GroupLayout.DEFAULT_SIZE, 95, Short.MAX_VALUE)
                                    .addComponent(isbn1F, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(isbn3F)
                                    .addComponent(isbn4F))
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addGap(43, 43, 43)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addGroup(layout.createSequentialGroup()
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                    .addComponent(jLabel6)
                                                    .addComponent(jLabel7))
                                                .addGap(12, 12, 12)
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                                    .addComponent(bestellnummerF)
                                                    .addComponent(bestelldatumF, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE)))
                                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                                .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(180, 180, 180))))
                                    .addGroup(layout.createSequentialGroup()
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(layout.createSequentialGroup()
                                                .addComponent(anzahl2F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(71, 71, 71)
                                                .addComponent(jButton2))
                                            .addComponent(anzahl1F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(anzahl3F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(anzahl4F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(30, 30, 30)
                        .addComponent(jButton3)
                        .addGap(32, 32, 32)
                        .addComponent(jButton4))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(kundennummerF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6)
                    .addComponent(bestelldatumF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(bestellnummerF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel9)
                .addGap(32, 32, 32)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(isbn1F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5)
                    .addComponent(anzahl1F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(5, 5, 5)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(isbn2F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(anzahl2F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(isbn3F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(anzahl3F, 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.BASELINE)
                    .addComponent(isbn4F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(anzahl4F, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(43, 43, 43)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 12, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel8)
                .addGap(30, 30, 30)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jButton1)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton5))
                .addGap(14, 14, 14)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton3)
                    .addComponent(jButton4))
                .addContainerGap(30, Short.MAX_VALUE))
        );
        pack();
    }// </editor-fold>  //GEN-END:initComponents
    
        private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
    SqlDel2 del = new SqlDel2();
    BestWerte com = new BestWerte();
    String ort ="Bestellung";
    String ort2 ="Position";
           
    del.delete(ort,ort2,jTextField1.getText());
    }//GEN-LAST:event_jButton3ActionPerformed

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) throws SQLException {//GEN-FIRST:event_jButton2ActionPerformed
   new BestBe().setVisible(true);
   
    }//GEN-LAST:event_jButton2ActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    DatenanbindungBest sqlInsert = new DatenanbindungBest ();    
 
       	String bestellnummer = bestellnummerF.getText();
        String isbn1 = isbn1F.getText();
        String isbn2 = isbn2F.getText();
        String isbn3 = isbn3F.getText();
        String isbn4 = isbn4F.getText();
        String bestelldatum = bestelldatumF.getText();
        String kundennummer = kundennummerF.getText();
        String positionsnummer1 = "1"+bestellnummer;
        String positionsnummer2 = "2"+bestellnummer;
        String positionsnummer3 = "3"+bestellnummer;
        String positionsnummer4 = "4"+bestellnummer;
        String anzahl1 = (String) anzahl1F.getValue();
        String anzahl2 = (String) anzahl2F.getValue();
        String anzahl3 = (String) anzahl3F.getValue();
        String anzahl4 = (String) anzahl4F.getValue();
        String ort = "Bestellung";
        String ort2 = "Position";
        sqlInsert.insert(ort,ort2,bestellnummer,isbn1,isbn2,isbn3,isbn4,bestelldatum,kundennummer,positionsnummer1,positionsnummer2,positionsnummer3,positionsnummer4,anzahl1,anzahl2,anzahl3,anzahl4);
            
            
    }//GEN-LAST:event_jButton1ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
    
    DatenanbindungBest sqlAbfrage = new DatenanbindungBest();
    BestWerte ich = new BestWerte();
    System.out.println(jTextField1.getText());
    //Object jcom = jComboBox1.getSelectedItem();
    //String comBox = (String) jcom;
    //String ort = "Bücher";
    ich.setTextF (jTextField1.getText());
    //ich.setTextB (jTextField9.getText());
    //String textF = jTextField9.getText();
    sqlAbfrage.abfrage(ich.getTextF(),ich.getOrt());
    BestellungTable.setViewportView(sqlAbfrage.rückantw());
    
    
        }//GEN-LAST:event_jButton5ActionPerformed

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
    Dball2 zeigeAll = new Dball2();
    String joinfeld="Bestellnummer";
    String ort = "Bestellung";
    String ort2 = "Position";
    zeigeAll.selcall(ort,ort2,joinfeld);
    BestellungTable.setViewportView(zeigeAll.rückantw());
    }//GEN-LAST:event_jButton4ActionPerformed

    public javax.swing.JScrollPane scrollTabelle;
    public javax.swing.JTable Tab;
    
    /**
     * @param args the command line arguments
     */
  
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    public javax.swing.JScrollPane BestellungTable;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JTextField bestellnummerF;
    private javax.swing.JTextField isbn1F;
    private javax.swing.JTextField isbn2F;
    private javax.swing.JTextField isbn3F;
    private javax.swing.JTextField isbn4F;
    private javax.swing.JTextField bestelldatumF;
    private javax.swing.JTextField kundennummerF;
    private javax.swing.JTextField positionsnummer1F;
    private javax.swing.JTextField positionsnummer2F;
    private javax.swing.JTextField positionsnummer3F;
    private javax.swing.JTextField positionsnummer4F;
    private javax.swing.JSpinner anzahl1F;
    private javax.swing.JSpinner anzahl2F;
    private javax.swing.JSpinner anzahl3F;
    private javax.swing.JSpinner anzahl4F;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration//GEN-END:variables
    
}
```


----------



## SlaterB (26. Mrz 2007)

int columns = md.getColumnCount();
System.out.println("columns: "+columns);

            //  Zeileninhalt ermitteln
            while (rst.next()) {
 System.out.println("noch ne Zeile");
            } 


wird die Anfrage überhaupt durchgeführt?
kommen Ausgaben wenn du obige Zeilen einfügst?
oder kommt ein Fehler/ keine Daten

wie du in deiner Mega-GAU-GUI die Daten anzeigst ist eine ganz andere Frage, 
hat nix mit JDBC zu tun,
werde ich persönlich mir auf keinen Fall antun 


minimaler Vereinfachungstipp mit wahrnehmbarer Auswirkung:
lösche alle "javax.swing." aus deiner GUI,
(bis auf import)

falls das automatisch generierter Code von einem Tool ist und du keine Ahnung davon hast: 
pfui, sowas anzubieten  
(persönliche Meinung)


----------



## 4ak (26. Mrz 2007)

Also erstmal danke für deine schnelle Hilfe.
Ja, ich hab das mal ausprobiert und es wird jeweils etwas ausgegeben. Es kommt lediglich eine Exception. Kann sie ja mal posten:
*Connection Successful 
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Bestellung.jButton5ActionPerformed(Bestellung.java:312)
    at Bestellung.access$200(Bestellung.java:13)
    at Bestellung$3.actionPerformed(Bestellung.java:98)
    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:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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)*

Aber da die Abfrage durchgeführt wird, versteh ich nich was da schiefläuft. Kenn mich mit den ganzen Fehlermeldungen ned so aus. Hab das ähnliche Problem halt bei allen Abfragen, die ich gemacht hab.

Das mit der GUI blick ich im Prinzip schon, nur war mir das ganze Gefummel viel zu umständlich und aufwändig (bin halt ein fauler Knabe, mach ja keinen Hehl daraus :wink: ). Hab die nur mitgepostet, weil's halt auch zu der Klasse gehört. Fehler kann da eigentlich keiner drin sein. Danke für den Vereinfachungstipp, eigentlich ne gute Idee.

Dass der Gui-Code von netbeans generiert is, hab ich ja schon gepostet. Der Rest is allerdings selber gecodet (bzw. Gruppenarbeit), hab nur die Struktur von netbeans übernommen. Musst den dir ja auch nich durchlesen.


----------



## SlaterB (26. Mrz 2007)

> at Bestellung.jButton5ActionPerformed(Bestellung.java:312) 
ist etwas witzlos, ohne eine passende Zeilennummerierung

aber solche Fehler sind doch kinderleicht zu lösen:
wenn die NullpointerException in einer der Zeilen
    zeigeAll.selcall(ort,ort2,joinfeld);
    BestellungTable.setViewportView(zeigeAll.rückantw());
auftritt,
dann prüfe doch mal was da null sein könnte:

System.out.println("zeigeAll ist "+zeigeAll);
System.out.println("BestellungTableist "+BestellungTable);
usw.
dann wirst du ein Objekt finden das null ist,

dann überlegst du dir, warum eigentlich an dieser Stelle das Objekt nicht null sein sollte,
z.B. WO es WANN initialisiert wird,
ob das klappt kann man wiederum mit
System.out.println an entsprechener Stelle nachprüfen,
dort die Bedingungen prüfen usw.

in einem so kleinen Programm hat man doch über alles die Kontrolle,
da sind NullPointerExceptions dankbare Fehler


----------



## 4ak (27. Mrz 2007)

Danke für deine Hilfe, hab es jetzt endlich hinbekommen. Das Problem war "BestellungTable". Dieser wurde nicht initialisiert und war (wie ich erst später herausfand) gar nicht im Gui, d.h. Fehlermeldungen haben mir daraufhin auch nicht weitergeholfen. Glücklicherweise ist das ganze Gruppenarbeit und ich hab meine Klasse einfach mal mit einer vergleichbaren aus unserem Projekt verglichen. Den BestellungTable hab ich allerdings mit netbeans hinzugefügt :wink: ...Aber so oft wie ich jetzt schon den Gui-Code abgegrast bin, kann ich den auch bald selber schreiben. Kommt mir nämlich gar nich so kompliziert vor...


----------



## 4ak (27. Mrz 2007)

Um hier nicht unnötig neue Threads aufzumachen, hier ein weiteres Problem:
Von der Klasse Bestellung rufe ich die Abfrage "insert" in folgender Klasse ab (Bestellung hab ich ein wenig modifiziert, von da gibts keine Probleme mehr)

Nun habe ich mit Textausgaben soweit geprüft, dass ich weiß, dass alle querys korrekt erstellt worden sind. Auch weiß ich, dass _query_ an die Datenbank korrekt weitergegeben wird. Nur _query1_, _query2_, _query3_, _query4_ werden nicht an die Datenbank weitergegeben. Die sql-Anweisungen stimmen jedoch. Als Fehler erhalte ich eine sql-exception, die so aussieht:

*
java.sql.SQLException: No ResultSet was produced
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:259)
    at DatenanbindungBest.insert(DatenanbindungBest.java:83)
    at Bestellung.jButton2ActionPerformed(Bestellung.java:287)
    at Bestellung.access$100(Bestellung.java:15)
    at Bestellung$2.actionPerformed(Bestellung.java:92)
    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:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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)
*

Klasse mit Insert-Anweisung (ab Zeile 70):


```
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Vector;
import javax.swing.JTable;

public class DatenanbindungBest {
    
    
    
    /** Creates a new instance of Datenanbindung */
     public void abfrage(String ort,String text) {
     	//String wert1 = a;
     	//String wert2 = b;
     	String textF = "%"+text+"%";
        
     	
        Vector columnNames = new Vector();
        Vector data = new Vector();
       try{
            //Abfrage definieren
            String query = "SELECT * FROM "+ort+" WHERE Bestellnummer LIKE '"+textF+"';";
            //Datenbankverbindung herstellen
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:/InMa/InmaBuchhandlung.mdb","","" );
            System.out.println("Connection Successful ");
            Statement stmt = con.createStatement();
            ResultSet rst = stmt.executeQuery(query);
            ResultSetMetaData md = rst.getMetaData();
            int columns = md.getColumnCount();
            //  Spaltennamen ermitteln
            for (int i = 1; i <= columns; i++) {
                String colname=md.getColumnName(i);
                columnNames.addElement( colname );
            }
            //  Zeileninhalt ermitteln
            while (rst.next()) {
                Vector row = new Vector(columns);
                for (int i = 1; i <= columns; i++) {
                    row.addElement( rst.getObject(i) );
                }
                data.addElement( row );
            }
             
        	
        	
        	
        	
        	rst.close();
        stmt.close();
            
        } catch(Exception e) {
            e.printStackTrace();
        }
        
        //  Tabelle erzeugen
        table = new JTable(data, columnNames);
        
    }
    public JTable rückantw()
        {
        	return this.table;
        }
    
   
    public void insert(String ort,String ort2,String bestellnummer,String isbn1,String isbn2,String isbn3,String isbn4,String bestelldatum,String kundennummer,String positionsnummer1,String positionsnummer2,String positionsnummer3,String positionsnummer4,String anzahl1,String anzahl2,String anzahl3,String anzahl4)
    {

        try{
        
        Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:/InMa/InmaBuchhandlung.mdb","","" );
      	String query ="INSERT INTO "+ort+" (Bestellnummer,Bestelldatum,Kundennummer) VALUES ('"+bestellnummer+"','"+bestelldatum+"','"+kundennummer+"'); ";
      	String query1 ="INSERT INTO "+ort2+" (Positionsnummer,Anzahl,ISBN,Bestellnummer) VALUES ('"+positionsnummer1+"','"+anzahl1+"','"+isbn1+"','"+bestellnummer+"'); ";
      	String query2 ="INSERT INTO "+ort2+" (Positionsnummer,Anzahl,ISBN,Bestellnummer) VALUES ('"+positionsnummer2+"','"+anzahl2+"','"+isbn2+"','"+bestellnummer+"'); ";
      	String query3 ="INSERT INTO "+ort2+" (Positionsnummer,Anzahl,ISBN,Bestellnummer) VALUES ('"+positionsnummer3+"','"+anzahl3+"','"+isbn3+"','"+bestellnummer+"'); ";
      	String query4 ="INSERT INTO "+ort2+" (Positionsnummer,Anzahl,ISBN,Bestellnummer) VALUES ('"+positionsnummer4+"','"+anzahl4+"','"+isbn4+"','"+bestellnummer+"'); ";
        //String query ="INSERT INTO "+ort+" ("+colname+") VALUES ('"+titel+"','"+autor+"','"+preis+"','"+jahr+"','"+genre+"','"+isbn+"','"+verlag+"','"+bestand+"'); ";
        Statement stmt = con.createStatement();
        ResultSet rst = stmt.executeQuery(query);
        ResultSet rst1 = stmt.executeQuery(query1);
        ResultSet rst2 = stmt.executeQuery(query2);
        ResultSet rst3 = stmt.executeQuery(query3);
        ResultSet rst4 = stmt.executeQuery(query4);
        //ResultSetMetaData md = rst.getMetaData();
        
        rst.close();
        rst1.close();
        rst2.close();
        rst3.close();
        rst4.close();
        stmt.close();

        }catch(Exception e) {
            e.printStackTrace();}
        
        
        }  
    
    
    

    
    //Variablen deklaration
    public	JTable table; 
   
}
```

Ich bin dankbar für jede Hilfe. Wie schon im Voraus erwähnt bin ich mit den Fehlermeldungen von Java und deren Lösungen im Allgemeinen nicht vertraut. (Außer NullpointerExceptions, die hab ich jetzt drauf  )


----------



## SlaterB (27. Mrz 2007)

ein INSERT ist keine Query
statt
ResultSet rst1 = stmt.executeQuery(insert); 
benutze
int numberLinesChange = stmt.executeUpdate(insert); 

oder so, suche Beispiele in Büchern/ Tutorials...


----------



## 4ak (27. Mrz 2007)

aber wieso wird dann der erste query an die datenbank weitergeleitet? Da geht das doch. Müsste das bei query1-4 doch auch gehn :bahnhof: ...
Bin verwirrt...


----------



## SlaterB (27. Mrz 2007)

tja, dass ich falsches erzähl kann natürlich auch sein 

ich kann es im Moment manges Datenbank nicht testen,
wenn das eine geht und das andere nicht,
dann teste doch mal die Unterschiede,

z.B. Tabellenname ort/ ort2,
gibt es beide Tabellen, sind die Attribute vorhanden?
klappt query1 mit dem ort von query?


----------



## 4ak (27. Mrz 2007)

SlaterB hat gesagt.:
			
		

> ...
> z.B. Tabellenname ort/ ort2,
> gibt es beide Tabellen, sind die Attribute vorhanden?



jo, das hab ich überprüft.



			
				SlaterB hat gesagt.:
			
		

> tja, dass ich falsches erzähl kann natürlich auch sein
> ...
> klappt query1 mit dem ort von query?



Nee, natürlich nicht. Ist ja ne andere Tabelle (ort=/=ort2), also auch andere Attribute (also Anzahl der Attribute und Formatierung derselben)...
Was kann denn der Grund dafür sein, dass kein "ResultSet" erzeugt werden kann?


----------



## 4ak (27. Mrz 2007)

Also ich habe das Problem jetzt gelöst, indem ich für jedes query eine neue Methode aufgerufen habe. Anscheinend kann man nicht mehr als eine sql-Anweisung in einer Methode an die Datenbank weiterleiten. Schon ne seltsame Sache. Wollte mich auf jeden Fall mal für die Tipps von 'Slater' bedanken.  

Fühl mich zwar schon fast ein bißchen doof, dch ich habe nun ein weiteres Abfrage-Problem:
Gekoppelt an die Insert-Anweisungen in die Tabellen "Bestellung" und "Position", will ich nun automatisch eine Rechnung in der Tabelle "Rechnung" erstellen lassen (Inhalt: Rechnungsnummer, Rechnungsdatum, Rechnungsbetrag und Bestellnummer).
Dazu habe ich eine Abfragen eingebunden, die die Preise aus der Tabelle "Bücher" ausliest (jeweils für das Buch mit der entsprechenden ISBN-Nummer, die auch in "Bücher" abgespeichert ist). Anschließend soll aus den Preisen der Rechnungsbetrag errechnet werden. Die Rechnungsnummer wird erzeugt, indem vor die Bestellnummer eine "5" vorangestellt wird. Abschließend werden die entsprechenden Daten (Rechnungsnummer, Rechnungsdatum, Rechnungsbetrag und Bestellnummer) mit einem Insert-Befehl in die Tabelle "Rechnung" eingefügt.

Nun wird seltsamerweise die Abfrage (an der Stelle, an der der Preis des einzelnen Buches abgefragt wird) nicht durchgeführt. Ich habe absolut keine Ahnung wieso. 

Ich bedanke mich schonmal für jede hilfreiche Antwort.

Hier die Fehlermeldung:
*
java.sql.SQLException: No ResultSet was produced
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:259)
    at DatenanbindungBest.insert(DatenanbindungBest.java:78)
    at Bestellung.jButton2ActionPerformed(Bestellung.java:299)
    at Bestellung.access$100(Bestellung.java:15)
    at Bestellung$2.actionPerformed(Bestellung.java:92)
    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:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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.sql.SQLException: No ResultSet was produced
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:259)
    at DatenanbindungBest.insert1(DatenanbindungBest.java:100)
    at Bestellung.jButton2ActionPerformed(Bestellung.java:300)
    at Bestellung.access$100(Bestellung.java:15)
    at Bestellung$2.actionPerformed(Bestellung.java:92)
    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:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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)
Connection Successful 
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in Abfrage. Die Abfrage ist unvollständig.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
    at DatenanbindungBest.abfrageBuchpreis1(DatenanbindungBest.java:191)
    at Bestellung.jButton2ActionPerformed(Bestellung.java:311)
    at Bestellung.access$100(Bestellung.java:15)
    at Bestellung$2.actionPerformed(Bestellung.java:92)
    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:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:991)
    at java.lang.Double.parseDouble(Double.java:510)
    at Bestellung.jButton2ActionPerformed(Bestellung.java:312)
    at Bestellung.access$100(Bestellung.java:15)
    at Bestellung$2.actionPerformed(Bestellung.java:92)
    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:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    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)
*


----------



## 4ak (27. Mrz 2007)

sorry, Doppelpost 

Problem gelöst.
musste Methode getFloat nehmen


----------

