# SQL+Java



## siroFranz (3. Mrz 2007)

Hallo zusammen,

schreib gerade nen kleines Programm, dass mir Filme mit allen entsprechenden Daten in ner Datenbank speichert.
Mit dem Programm kann man dann eine HTML-Seite erstellen.

Das einzigste Problem ist, dass wenn ich z.B. das mache:


```
String sqlAnweisung="Insert into movie(name) values("Hostel"), ("Star Wars")"
```

das ja kein Problem, aber der Filmname soll ja eingelesen werden :
Also so ca:


```
String sqlAnweisung="Insert into movie(name) values"'"+JTextField.getText()'")"
```

krieg da aber immer ne Fehlermeldung :noe:
Das ganze Ding möchte ich dann mit 
	
	
	
	





```
executeUpdate()
```
 ausführen lassen


GRuß


----------



## DP (3. Mrz 2007)

und was ist deine frage?!


----------



## siroFranz (3. Mrz 2007)

```
String sqlAnweisung="Insert into movie(name) values("Hostel"), ("Star Wars")"
```

Problem: Wie muss ich den Code ändern, dass die Namen aus den JTextField(ern) ausgelesen werden ?


----------



## DP (3. Mrz 2007)

na mit JTextField.getText()


----------



## L-ectron-X (3. Mrz 2007)

```
String statement = "INSERT INTO movie(name) VALUES('Hostel'), ('Star Wars')";
```

oder direkt aus einem Textfeld:


```
String statement = "INSERT INTO movie(name) VALUES('"+textfield.getText()+"')";
```


----------



## siroFranz (3. Mrz 2007)

jup danke mit den anführungszeichen ist schon bisschen unverständlich, finde ich. :lol: , aber so gehts wohl jedem der etwas nicht versteht. :gaen:
Also krieg beim übersetzen schonmal keinen Fehler mehr nur wenn ich jetzt etwas der Datenbank hinzufügen möchte.


```
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at SQL.actionPerformed(SQL.java:197)
	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)
```

vllt. sagt das ja jemanden etwas?


----------



## siroFranz (4. Mrz 2007)

kann keiner den Fehler erkennen, bleib gerade irgendwie stehen.


----------



## L-ectron-X (4. Mrz 2007)

> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
> at SQL.actionPerformed(SQL.java:197)


Die benutzte Referenz zeigt auf ein nicht initialisiertes Objekt.
Die fehlerhafte Codezeile lautet 197. Was steht da? Am besten mal die actionPerformed()-Methode posten und besagte Codezeile markieren.


----------



## siroFranz (4. Mrz 2007)

kann ich auch das ganze gerät posten ?
in meiner ide werden keine zeilen angezeigt. :roll:

das die actionPerformed Methode wenn ich das ausführe, kommen immer die Fehlermeldungen


```
if(e.getSource() == this.btnAdd){
            try{
                db.executeUpdate("INSERT INTO warengruppe(bezeichnung) VALUES('"+fieldNewWarengruppe.getText()+"')");
                db.executeUpdate("INSERT INTO anbieter(bezeichnung) VALUES('"+fieldNewAnbieter.getText()+"')");
                db.executeUpdate("INSERT INTO einheit(bezeichnung) VALUES('"+fieldNewEinheit.getText()+"')");
                db.executeUpdate("INSERT INTO marken(bezeichnung) VALUES('"+fieldNewMarke.getText()+"')");
                this.fieldAusgabe.setText("Datensätze eingefügt");
            }catch(Exception ex3){
                this.fieldAusgabe.setText("Datensätze nicht einfügt");
            }
        }
```


----------



## L-ectron-X (4. Mrz 2007)

OK, möglicherweise ist ein Objekt, auf welches deine Referenzen in dieser Methode zeigen, noch null, also nicht initialisiert. Prüfe das mal. Vielleicht hast du vergessen eine Instanzvariable für ein Objekt anzulegen.


----------



## siroFranz (4. Mrz 2007)

das einzigste objekt, welches ich da habe, ist ne klasse databaseConnector, die habe ich aber schon mitner init()-methode am afang initialisiert.
Stimmt vllt. etwas mit den executeUpdate-Anweisungen nicht =?
Ich weiß es einfach nicht, der Button hat einen Listener alles sonst würde ja überahaupt keine meldung kommen.


----------



## L-ectron-X (4. Mrz 2007)

Ohne mehr Code gesehen zu haben, kann ich da nicht weiter helfen.


----------



## siroFranz (4. Mrz 2007)

Hier der DatabaseConnecotor und dadrunter das Prog.

Jetzt fällt dir nur noch die Datenbank, wenn die auch brauchst?


```
import java.sql.*;

public class databaseConnector
{
    Connection verbindung;
    Statement abfrage;
    ResultSet datenMenge;
    boolean debugMode= false;

    /**
    * Der Konstruktor versucht den Treiber zu laden und die Verbindung zur Datenbank herzustellen. 
    * Der java-mysql Treiber muss vorher von der Webseite [url]www.mysql.org[/url] herunter geladen werden, sofern er nicht 
    * schon im Betriebssystem vorhanden ist. Sollte keine Verbindung hergestellt werden k&nnen, so wird eine Exception geworfen. 
    * Im debugMode werden die  Fehlermeldungen auf der Konsole ausgegeben.
    * 
    * * */
    public databaseConnector(String database, String user, String password) throws Exception
    {
        this.debugMode = debugMode;
        try 
        {
            Class.forName("com.mysql.jdbc.Driver");
            try
            {
                verbindung = java.sql. DriverManager.getConnection("jdbc:mysql:"+database, user, password);
            }
            catch(Exception e)
            {
                    if(debugMode)
                    {
                        System.err.println(e.getMessage());
                    }
                    throw new Exception("Verbindung zum Server gescheitert.");
            }
            
        }
        catch(ClassNotFoundException e)
        {
                    if(debugMode)
                    {
                        System.err.println(e.getMessage());
                    }
            throw new Exception("Treiber nicht gefunden");
        }
    }
    
    /**
     * F&hrt eine beliebige SQL Anweisung durch. Gibt zur&ck, ob es sich um einen SELECT-Befehl
     * oder eine andere SQL-Anweisung handelte.
     */
    public boolean  doSQL(String sqlAnweisung) throws Exception 
    {
        try 
        {
            abfrage = verbindung.createStatement();
            datenMenge=abfrage.getResultSet();
            return abfrage.execute(sqlAnweisung);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            throw e;
         }           
    }
     /**
     * F&rt eine SELECT-Anweisung durch und gibt zur&ck, ob 
     * der Befehl erfolgreich ausgef&hrt wurde.
     */
    public boolean executeQuery(String sqlAnweisung)
    {
        try 
        {
            abfrage = verbindung.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            datenMenge = abfrage.executeQuery(sqlAnweisung);
            return true;
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return false;
        } 
    }
    
    /**
     * F&rt die Methoden zum Ändern der Datenbankinhalte aus (INSERT, UPDATE, DELETE)
     * und gibt die Anzahl der modifizierten Datens&tze zur&ck.
     */
    public int executeUpdate(String sqlAnweisung)
    {
        int anzahl =0;
        try 
        {
            abfrage = verbindung.createStatement();
            anzahl = abfrage.executeUpdate(sqlAnweisung);
            if(debugMode)
            {
                System.err.println("Die Abfrage betraf "+anzahl+" Reihen");
  
            }
        }
        catch( Exception e)
        {
            anzahl = 0;
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
        } 
        return anzahl;
    }
    
    /**
     * Durchschreitet die Datenmenge vorw&rts (steht am Anfang vor dem ersten Eintrag).
     */
    public boolean next()
    {
       try 
       {
            return datenMenge.next();
       }
       catch( Exception e)
       {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return false;
       }
    
    }
     /**
     * Durchschreitet die Datenmenge r&ckw&rts (steht am Anfang vor dem ersten Eintrag).
     */
    public boolean previous()
    {
       try 
       {
            return datenMenge.previous();
       }
       catch( Exception e)
       {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return false;
       }
    
    }
    /**
    * Liefert den Spaltenwert der angegebenen Spalte als Text oder im Fehlerfall einen leeren Text.
    */
    public String getText(String feldName)
    {
        try 
        {
            return datenMenge.getString(feldName);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return "";
       }
    }
    
    /**
     * Liefert den Spaltenwert des angegebenen Spalteindex als Text oder im Fehlerfall einen leeren Text (INDEX beginnt mit 1).
     */
    public String getText( int spaltenIndex)
    {
        try 
        {
            return datenMenge.getString(spaltenIndex);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return "";
       }
    }
    
    /**
    * Liefert den Spaltenwert der angegebenen Spalte als Integer oder im Fehlerfall 0.
    */
    public int getInt(String feldName)
    {
        try 
        {
            return datenMenge.getInt(feldName);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return 0;
       }
    }
    /**
     * Liefert den Spaltenwert des angegebenen Spalteindex als Integer oder im Fehlerfall 0 (INDEX beginnt mit 1).
     */
    public int getInt( int spaltenIndex)
    {
        try 
        {
            return datenMenge.getInt(spaltenIndex);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return 0;
       }
    }
    
   /**
    * Liefert den Spaltenwert der angegebenen Spalte als Double oder im Fehlerfall 0.0.
    */
    public double getDouble(String feldName)
    {
        try 
        {
            return datenMenge.getDouble(feldName);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return 0;
       }
    }
    
    /**
     * Liefert den Spaltenwert des angegebenen Spalteindex als Double oder im Fehlerfall 0.0 (INDEX beginnt mit 1).
     */
    public double getDouble( int spaltenIndex)
    {
        try 
        {
            return datenMenge.getDouble(spaltenIndex);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return 0.0;
       }
    }
    
    /**
    * Liefert den Spaltenwert der angegebenen Spalte als Boolean oder im Fehlerfall false.
    */
    public boolean getBoolean(String feldName)
    {
        try 
        {
            return datenMenge.getBoolean(feldName);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return false;
       }
    }
    
    /**
     * Liefert den Spaltenwert des angegebenen Spalteindex als Boolean oder im Fehlerfall false (INDEX beginnt mit 1).
     */
    public boolean getBoolean( int spaltenIndex)
    {
        try 
        {
            return datenMenge.getBoolean(spaltenIndex);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return false;
       }
    }
    
    /**
     * Liefert den Spaltenwert des angegebenen Spalteindex als Datum oder im Fehlerfall null (INDEX beginnt mit 1).
     */
    public Date getDate( int spaltenIndex)
    {
        try 
        {
            return datenMenge.getDate(spaltenIndex);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return null;
       }
    }
    
    /**
    * Liefert den Spaltenwert der angegebenen Spalte als Datum oder im Fehlerfall null.
    */
    public Date getDate(String feldName)
    {
        try 
        {
            return datenMenge.getDate(feldName);
        }
        catch( Exception e)
        {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
            return null;
       }
    }
    
    /**
     * Destruktor, wird von Java aufgerufen.
     */
    protected void finalize()
    {
       try
       {
            verbindung.close();
       }
       catch( Exception e)
       {
            if(debugMode)
            {
                        System.err.println(e.getMessage());
            }
       }
    }
}
```

Hier meine Klasse 


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SQL extends JFrame implements ActionListener
{
    private JPanel panelConnection, panelEintrag, panelNew, panelDatabase, panelEintragLoeschen, panelAbove, panelBottom;
    private JButton btnVerbinde, btnHinzufuegen, btnAdd;
    private JLabel labelHead, labelServer, labelDatabase, labelUser, labelPasswort, labelBezeichnung, labelPreisOne, labelPreisTwo, labelMenge, labelWarengruppe, labelMarke, labelAnbieter, labelNewAnbieter, labelNewWarengruppe, labelNewEinheit, labelNewMarke;
    private JTextField fieldServer, fieldDatabase, fieldUser, fieldBezeichnung, fieldPreis, fieldMenge, fieldNewAnbieter, fieldNewWarengruppe, fieldNewEinheit, fieldNewMarke, fieldAusgabe;
    private JPasswordField fieldPasswort;
    private JComboBox optionWarengruppe, optionMenge, optionMarke, optionAnbieter;
    private JTabbedPane tabbedPane = new JTabbedPane();
    private databaseConnector db;
    private SingleSelectionModel tabbedPaneModel;
    
    public SQL()
    {
        this.setSize(450, 350);
        this.setTitle("Database-Connector");
        this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
        this.init();
        Container cp = this.getContentPane();
        cp.setLayout(new BorderLayout());
        //--------------------------------------------------------------------- BorderLayout.NORTH
        this.panelAbove = new JPanel();
        this.panelAbove.setLayout(new FlowLayout(FlowLayout.LEFT));
        this.panelAbove.add(this.labelHead = new JLabel("Java-Database-Connector"));
        this.panelAbove.setBackground(Color.WHITE);
        cp.add(this.panelAbove, BorderLayout.NORTH);
        //--------------------------------------------------------------------- BorderLayout.SOUTH
        this.panelBottom = new JPanel();
        this.panelBottom.setBackground(new Color(70, 130, 180));
        this.panelBottom.setLayout(new GridLayout(1,0));
        this.panelBottom.add(this.fieldAusgabe = new JTextField());
        this.fieldAusgabe.setBackground(new Color(25, 25, 112));
        this.fieldAusgabe.setForeground(Color.WHITE);
        this.setTabs();
        cp.add(this.panelBottom, BorderLayout.SOUTH);
        for(int i=0; i<this.tabbedPane.getTabCount(); i++){
            this.tabbedPane.setBackgroundAt(i, new Color(211, 211, 211));
        }
        this.setVisible(true);
    }
    public void init()
    {
         try{
            this.db = new databaseConnector("//localhost/produktvergleich", "root", "david");
        }catch(Exception ex5){
        }
    }
    public void setTabs()
    {
        setTabConnection();
        setTabDatabase();
        setTabNewEntry();
        setTabProvider();
        add(this.tabbedPane, BorderLayout.CENTER);
    }
    //--------------------------------------------------------------------------- BorderLayout.CENTER
    public void setTabConnection()
    {
        JPanel connectionTwo = new JPanel();
        JPanel panel = new JPanel();
        JPanel panel2 = new JPanel();
        this.panelConnection = new JPanel();
        this.panelConnection.setLayout(new GridLayout(3, 0));
        panel.setLayout(new GridLayout(4,1));
        panel.add(this.labelServer   = new JLabel("Server:"));
        panel.add(this.fieldServer   = new JTextField(1));
        panel.add(this.labelDatabase = new JLabel("Datenbank:"));
        panel.add(this.fieldDatabase = new JTextField(1));
        panel.add(this.labelUser     = new JLabel("Benutzername:"));
        panel.add(this.fieldUser     = new JTextField());
        panel.add(this.labelPasswort = new JLabel("Passwort:"));
        panel.add(this.fieldPasswort = new JPasswordField());
        this.panelConnection.add(panel);
        this.panelConnection.add(new JPanel());
        connectionTwo.setLayout(new BorderLayout());
        connectionTwo.add(panel2, BorderLayout.SOUTH);
        panel2.setLayout(new FlowLayout(FlowLayout.LEFT));
        panel2.add(this.btnVerbinde = new JButton("Connect"));
        this.btnVerbinde.setBackground(new Color(34, 139, 34));
        this.btnVerbinde.setForeground(Color.WHITE);
        this.btnVerbinde.addActionListener(this);
        this.panelConnection.add(connectionTwo);
        this.tabbedPane.add("Settings", this.panelConnection);
    }
    public void setTabNewEntry()
    {        
        JPanel panelOben = new JPanel();
        JPanel panelUnten;
        JPanel panelLinks;
        panelOben.setLayout(new GridLayout(2, 0));
        this.panelEintrag = new JPanel();
        this.panelEintrag.setLayout(new GridLayout(6, 2));
        this.panelEintrag.add(this.labelBezeichnung = new JLabel("Bezeichnung"));
        this.panelEintrag.add(this.fieldBezeichnung = new JTextField());
        this.panelEintrag.add(new JPanel());
        this.panelEintrag.add(this.labelPreisOne    = new JLabel("Preis"));
        this.panelEintrag.add(this.fieldPreis       = new JTextField());
        this.panelEintrag.add(this.labelPreisTwo    = new JLabel("€"));
        this.panelEintrag.add(this.labelMenge       = new JLabel("Menge"));
        this.panelEintrag.add(this.fieldMenge       = new JTextField());
        this.panelEintrag.add(this.optionMenge      = new JComboBox());
        this.panelEintrag.add(this.labelWarengruppe = new JLabel("Warengruppe"));
        this.panelEintrag.add(this.optionWarengruppe= new JComboBox());
        this.panelEintrag.add(new JPanel());
        this.panelEintrag.add(this.labelMarke       = new JLabel("Marke"));
        this.panelEintrag.add(this.optionMarke      = new JComboBox());
        this.panelEintrag.add(new JPanel());
        this.panelEintrag.add(this.labelAnbieter    = new JLabel("Anbieter"));
        this.panelEintrag.add(this.optionAnbieter   = new JComboBox());
        panelOben.add(this.panelEintrag);
        panelOben.add(panelUnten = new JPanel());
        panelUnten.setLayout(new BorderLayout());
        panelUnten.add(panelLinks = new JPanel(), BorderLayout.SOUTH);
        panelLinks.setLayout(new FlowLayout(FlowLayout.LEFT));
        panelLinks.add(this.btnHinzufuegen = new JButton("add"));
        this.btnHinzufuegen.addActionListener(this);
            if(db.executeQuery("SELECT bezeichnung FROM warengruppe")){
                while(db.next()){
                    this.optionWarengruppe.addItem(db.getText("bezeichnung"));
                }
            }
            if(db.executeQuery("SELECT bezeichnung FROM anbieter")){
                while(db.next()){
                    this.optionAnbieter.addItem(db.getText("bezeichnung"));
                }
            }
            if(db.executeQuery("SELECT bezeichnung FROM marken")){
                while(db.next()){
                    this.optionMarke.addItem(db.getText("bezeichnung"));
                }
            }
            if(db.executeQuery("SELECT bezeichnung FROM einheit")){
              while(db.next()){
                  this.optionMenge.addItem(db.getText("bezeichnung"));
              }
            }
        this.tabbedPane.add("Entry", panelOben); 
    }
    public void setTabProvider()
    {
        JPanel oben;
        JPanel unten;
        JPanel unten2;
        this.panelNew = new JPanel();
        this.panelNew.setLayout(new GridLayout(3, 0));
        this.panelNew.add(oben = new JPanel());
        oben.setLayout(new GridLayout(4, 2));
        oben.add(this.labelNewAnbieter    = new JLabel("Anbieter"));        
        oben.add(this.fieldNewAnbieter    = new JTextField());
        oben.add(this.labelNewWarengruppe = new JLabel("Warengruppe"));        
        oben.add(this.fieldNewAnbieter    = new JTextField());
        oben.add(this.labelNewMarke       = new JLabel("Marke"));        
        oben.add(this.fieldNewMarke       = new JTextField());
        oben.add(this.labelNewEinheit     = new JLabel("Einheit"));        
        oben.add(this.fieldNewEinheit     = new JTextField());
        this.panelNew.add(new JPanel());
        this.panelNew.add(unten = new JPanel());
        unten.setLayout(new BorderLayout());
        unten.add(unten2 = new JPanel(), BorderLayout.SOUTH);
        unten2.setLayout(new FlowLayout(FlowLayout.LEFT));
        unten2.add(this.btnAdd = new JButton("add"));
        this.btnAdd.addActionListener(this);
        this.tabbedPane.add("New structure", this.panelNew);
    }
    public void setTabDatabase()
    {
        this.panelDatabase = new JPanel();
        this.tabbedPane.add("Database", this.panelDatabase);
        
    }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource() == this.btnVerbinde){
            try{
                this.db = new databaseConnector("//"+this.fieldServer.getText()+"/"+this.fieldDatabase.getText(), this.fieldUser.getText(), String.valueOf(this.fieldPasswort.getPassword()));  
                this.btnVerbinde.setBackground(new Color(205, 38, 38));
                this.btnVerbinde.setText("disconnect");
                this.fieldAusgabe.setText("Datenbank("+this.fieldDatabase.getText()+") wurde erfolgreich angebunden");
            }catch(Exception ex2){
                this.fieldAusgabe.setText("Datenbank("+this.fieldDatabase.getText()+") wurde nicht erfolgreich angebunden");
            } 
        }
        if(e.getActionCommand().equals("disconnect")){
               this.btnVerbinde.setBackground(new Color(34, 139, 34));
               this.btnVerbinde.setText("connect");
               this.fieldServer.setText("");
               this.fieldDatabase.setText("");
               this.fieldUser.setText("");
               this.fieldPasswort.setText("");
               this.fieldAusgabe.setText("Verbindung zur Datenbank wurde getrennt");
        }
        if(e.getSource() == this.btnHinzufuegen){
            
        }
        if(e.getSource() == this.btnAdd){
            try{
                db.executeUpdate("INSERT INTO warengruppe(bezeichnung) VALUES('"+fieldNewWarengruppe.getText()+"')");
                db.executeUpdate("INSERT INTO anbieter(bezeichnung) VALUES('"+fieldNewAnbieter.getText()+"')");
                db.executeUpdate("INSERT INTO einheit(bezeichnung) VALUES('"+fieldNewEinheit.getText()+"')");
                db.executeUpdate("INSERT INTO marken(bezeichnung) VALUES('"+fieldNewMarke.getText()+"')");
                this.fieldAusgabe.setText("Datensätze eingefügt");
            }catch(Exception ex34){
                this.fieldAusgabe.setText("Datensätze nicht einfügt");
            }
        }
    }
    public static void main (String[] args)
    {
        new SQL();
    }
}
```


----------



## L-ectron-X (4. Mrz 2007)

Zeile 201: fieldNewWarengruppe ist zwar als Instanzvariable angelegt ist aber null und wird nirgends initialisiert.


----------



## siroFranz (4. Mrz 2007)

danke es läuft jetzt :toll:


----------

