jTabel mit Daten Füllen

maGG

Bekanntes Mitglied
Hallo, ich wollte mein Programm mit einer Datenbank verknüpfen und damit einige JTabels und noch vieles mehr machen. Aktuell scheitere ich an einer NullPointer Exception beim befüllen ...

Code:
java.lang.NullPointerException
    at signatur.GUI.Update_Table_Filialen_Deutschland(GUI.java:529)
    at signatur.GUI.<init>(GUI.java:116)
    at signatur.GUI$36.run(GUI.java:2957)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

So siehts aktuell aus:

Java:
       public static Connection ConnectDb(){
            try{
                Class.forName("org.sqlite.JDBC");
                Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\darichter\\Desktop\\Signatur Tool DB\\KERN_Standorte_Adressen.db");
                JOptionPane.showMessageDialog(null, "Connection Established");
                return conn;
            }catch(Exception e){
                JOptionPane.showMessageDialog(null,e);
                return null;
            }
        }
       
        private void Update_Table_Filialen_Deutschland(){
            try{   
                String sql = "SELECT * FROM Filialen_Deutschland";
                pst = conn.prepareStatement(sql);
                rs = pst.executeQuery();
                jTableFilialen_Deutschland.setModel(DbUtils.resultSetToTableModel(rs));
               
            }catch(Exception e){
                e.printStackTrace();
            }
       
        }

oben steht noch:
Java:
    Connection conn = null;
    ResultSet rs = null;
    PreparedStatement pst = null;

und in der "public GUI()" Methode hab ich die beiden Methode aufgerufen.
Ich habe mir dazu die die Libary "sqlite-jdbc" und "rs2xml" importiert.

Was habe ich evtl. falsch gemacht? Nullpointer heißt doch das er auf etwas zugreift was null isto der? Die Tabelle heißt in meiner Tabelle tatsächlich so und ist auch mit Inhalt gefüllt.

ConnectDb() funktioniert, also die Verknüpfung zur Datenbank scheint in Ordnung.
 
529:
Java:
                pst = conn.prepareStatement(sql);

Alles was mit der Datenbank zutun steht da schon aus der GUI Klasse

Ich habe es versuch anhand eines Youtube Videos nachzumachen:

Das Erste zeigt wie man die Datenbank verknüpft und das Zweite wie man die Tabelle befüllt 😉
 
Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\darichter\\Desktop\\Signatur Tool DB\\KERN_Standorte_Adressen.db");
Das hier legt eine lokale conn Variable an - überschreibt aber nie deine globale conn Variable.
In allen anderen Methoden greifst du aber auf die globale conn - Variable zu die dementsprechend NULL ist.

Mach aus Connection conn = DriverManager..... einfach conn = DriverManager... dann sollte es gehen.
 
Hi.

Videos kann ich mir auf der Arbeit nicht anschauen.
Ja dann wird die Variable conn oder sql null sein.

Du musst jetzt schauen wo du conn überhaupt initialisierst und wenn ja wo.
Genauso bei sql.

EDIT: Siehe Beitrag von @Robat
 

Neue Themen


Zurück
Oben