Hallo Leute
warum werden die Daten nicht mehr in meiner Tabelle aufgerufen? Es öffnet sich immer ein OptionPane wo drin steht NullPointerException. Wenn ich nun das Programm schließe sagt er mir das dass Programm erfolgreich ausgeführt wurden ist.
Steht in deiner Console die genaue Fehlermeldung, dann kannst du rausfinden woher die NPE kommt.
PS: methodennamen bitte immer lowerCamelCase
EDIT: jetzt seh ichs… wenn ein Fehlerauftritt sagst du selber das er null ausgeben soll JOptionPane.showMessageDialog(null, e);
Versuch eine aussagekräftigere Fehlermeldung auszugeben, du merkst ja nun selber wie unnütz und nichtsaussagend deine Nachricht ist
EDIT2: Sind das alle Spalten aus der Tablle? Wenn ja dann nutze doch einfach „Select * From …“ Dann musst du nicht jede einzelne Spalte auswählen im select.
at Hauptmenü.Hauptmenüscreen.UpdateJTablePersonal(Hauptmenüscreen.java:57)
at Hauptmenü.Hauptmenüscreen.butpersonalabrufenActionPerformed(Hauptmenüscreen.java:676)
at Hauptmenü.Hauptmenüscreen.access$1900(Hauptmenüscreen.java:12)
at Hauptmenü.Hauptmenüscreen$20.actionPerformed(Hauptmenüscreen.java:371)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Dann solltest du auf jeden Fall mal den stacktrace auf der Konsole ausgeben lassen und nicht nur einen Dialog öffnen, der den Fehler nicht näher erläutert. Im catch-Block sollest du dann auch nicht nur allgemein Exception catchen, sondern zwischen den veeschiedenen möglichen Fehlern unterscheiden.
Wenn du sagst vor einer Stunde hat noch alles getan, hat sich etwas an deiner Datenbank oder deiner Umgebung geändert?
[QUOTE=Movementroboter]danke erstmal für die schnelle antwort
habe es soweit geändert
JOptionPane.showMessageDialog(null, "Bei der Abfrage der Serverdaten ist etwas falsch gelaufen");
```[/QUOTE]
pff, was ist das denn für eine Verbesserung?
vorher wurde die Exception noch übergeben, vielleicht angezeigt, zumindest 'NullPointerException' hast du ja nicht erraten,
der restliche StackTrace in der Tat nicht dabei,
nun streichst du auch diese Info, nur noch Standard-Text ausgeben?
`e.printStackTrace();`
ist die Standard-Behandlung im catch, dann siehst du einen StackTrace, die genaue Zeile in der der Fehler stattfindet,
ein OptionPane kannst du ja nebenher auch noch öffnen, falls dir das hilft
letztlich wird irgendwas null sein, conn oder tblserver oder irgendwas in der resultSetToTableModel()-Methode,
die Zeile aus dem StackTrace hilft dir hoffentlich weiter, sonst allgemein alles prüfen
ja vor einer Stunde hat noch alles funktioniert Habe aber auch nix an dem UpdateJTable gemacht darum wundere ich mich warum es jetzt auf einmal nicht mehr funktioniert
[QUOTE=SlaterB]pff, was ist das denn für eine Verbesserung?
vorher wurde die Exception noch übergeben, vielleicht angezeigt, zumindest ‚NullPointerException‘ hast du ja nicht erraten,
der restliche StackTrace in der Tat nicht dabei,
nun streichst du auch diese Info, nur noch Standard-Text ausgeben?
e.printStackTrace();
ist die Standard-Behandlung im catch, dann siehst du einen StackTrace, die genaue Zeile in der der Fehler stattfindet,
ein OptionPane kannst du ja nebenher auch noch öffnen, falls dir das hilft
letztlich wird irgendwas null sein, conn oder tblserver oder irgendwas in der resultSetToTableModel()-Methode,
die Zeile aus dem StackTrace hilft dir hoffentlich weiter, sonst allgemein alles prüfen[/QUOTE]
Danke für deinen Beitrag aber das kann man auch netter schreiben. Achso und danke Michael ich versuche den Fehler zu finden und melde mich dann wenn ich ihn gefunden habe
[QUOTE=_Michael;28603]Welches ist denn die Zeile 57 in Hauptmenüscreen (Umlaute wuerde ich vermeiden)?
Kann es sein, dass Connection nicht initialisiert ist?[/QUOTE]
Bei sowas hilft entweder der Debugger, wo man zur Laufzeit die Variablen anschauen kann, oder eben ein System.out.println nach jeder Zeile wo du zb conn, rs oder tblserver ausgibst.
PS nochmal: Und verbesser bitte deinen Methodennamen (zb UpdateJTablePersonal() vllt gibts noch mehr?), wie gesagt lowerCamelCase bei Methodennamen und wie auch gesagt wurde, Umlaute sollte man auch nicht nutzen.
Machst du ab und an Sicherungen deines Projektstandes? Dann kannst du einfach mit dem letzten Stand vergleichen und vermutlich schnell sehen, warum jetzt ein Fehler auftaucht.