NullPointerException bei Datenbankverbindung

I

Ithron

Gast
Guten Morgen Java-Forum! :)

Ich hab seit gut 3 Jahren nicht mehr programmiert und wollt mich jetzt mal wieder etwas reinfinden um es nicht komplett zu verlernen.
Hierfür hab ich mir ein altes Projekt vom Studium gesucht, bei dem eine Art Automobilbörse eingerichtet wurde mit einer Datenbankanbindung. Dieses Projekt wollte ich jetzt umschreiben in eine private Filmdatenbank, falls man sich mal unschlüssig ist, welchen Film man schauen möchte ;)

Datenbankverbindung wird hergestellt, das Suchfenster erscheint auch ohne Probleme, aber wenn ich dann die Suche bemühe und er mir Daten ausgeben sollte, erscheint nur eine leere Tabelle und er gibt eine NullPointerException in Zeile 149 zurück.
Habe schon mit Ausgabezeilen an diversen Stellen überprüft, wo und warum er die Variablen wieder auf null setzt, aber durch die lange Pause, hab ich wohl ein wenig den Blick verloren, wo der Fehler liegt. Ist sicherlich etwas ganz simples und ich seh es nur nicht ;)

Verbesserungsvorschläge oder Tipps sind natürlich auch gern gesehen. Ich wollte das nur erstmal zum Laufen kriegen ;)

Java:
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.JLabel;
import javax.swing.JScrollPane;

public class Anzeige 
{	
	
	Connection con;
	Statement stmt;
	ResultSet rs;
	
	private JTextField Filmtitel = null;
	private JTextField Originaltitel = null;
	private JTextField Genre1 = null;
	private JTextField Genre2 = null;
	private JTextField Genre3 = null;
	private JTextField Bewertung = null;
	private JTextField Jahr = null;
	private JTextField Schauspieler1 = null;
	private JTextField Schauspieler2 = null;
	private JTextField Schauspieler3 = null;
	private JTextField Schauspieler4 = null;
	
	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="32,21"
	private JPanel jContentPane = null;
	private JScrollPane jScrollPane = null;
	private JTable jTable = null;
	
	
	
	Vector namen = new Vector();  //  @jve:decl-index=0:
	Vector zeilen = new Vector();  //  @jve:decl-index=0:
	Vector table = new Vector();  //  @jve:decl-index=0:
	
	

	public void verbindung() throws Exception
	{
		try 
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			String dbpath = "E:/Filmdatenbank/FilmDB.mdb";

			Connection con = DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+ dbpath);
			

			Statement stmt = con.createStatement();
			
		}
		catch (Exception e)
		{
			e.printStackTrace();
			System.out.println("Verbindung fehlgeschlagen");
		}
			
	}
	
	public static void run(String query) throws Exception 
	{		
		Anzeige application = new Anzeige();
		Anzeige moep = new Anzeige();
		application.getJFrame(query).setVisible(true);	
		moep.verbindung();


	}
	
	private JFrame getJFrame(String query) 
	{
		if (jFrame == null) 
		{
			jFrame = new JFrame();
			jFrame.setSize(new Dimension(600, 300));
			jFrame.setContentPane(getJContentPane(query));
			jFrame.setTitle("Filmdatenbank");

		}
		return jFrame;
	}

	private JPanel getJContentPane(String query) 
	{
		if (jContentPane == null) 
		{
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJScrollPane(query), null);
		}
		return jContentPane;
	}

	private JScrollPane getJScrollPane(String query) 
	{
		if (jScrollPane == null) 
		{
			jScrollPane = new JScrollPane(jTable);
			jScrollPane.setBounds(new Rectangle(0, 0, 488, 274));
			jScrollPane.setViewportView(getJTable(query));
		}
		return jScrollPane;
	}

	JTable getJTable(String query) 
	{
		try 
		{

			verbindung();
			
		} 
		catch (Exception e1) 
		{
		e1.printStackTrace();
		}
		
		
		namen.add( "Filmtitel" );
		namen.add( "Originaltitel" );
		namen.add( "Genre1" );
		namen.add( "Genre2" );
		namen.add( "Genre3" );
		namen.add( "Bewertung" );
		namen.add( "Jahr" );
		namen.add( "Schauspieler1");
		namen.add( "Schauspieler2");
		namen.add( "Schauspieler3");
		namen.add( "Schauspieler4");
		
		
		try
		{

			stmt = con.createStatement();
			rs = stmt.executeQuery (query);
			while(rs.next())
			{						
				zeilen = new Vector();
				
				zeilen.add(rs.getString("Filmtitel"));
				zeilen.add(rs.getString("Originaltitel"));
				zeilen.add(rs.getString("Genre1"));
				zeilen.add(rs.getString("Genre2"));
				zeilen.add(rs.getString("Genre3"));
				zeilen.add(rs.getString("Bewertung"));
				zeilen.add(rs.getString("Jahr"));
				zeilen.add(rs.getString("Schauspieler1"));
				zeilen.add(rs.getString("Schauspieler2"));
				zeilen.add(rs.getString("Schauspieler3"));
				zeilen.add(rs.getString("Schauspieler4"));
				
				
				table.add(zeilen);
			}			
		}
		
		catch (Exception e1) 
		{
			e1.printStackTrace();
		}
		
		if (jTable == null) 
		{
			jTable = new JTable(table, namen);			
		}
		return jTable;
	}
	

}

Hier noch der komplette Fehlertext:
java.lang.NullPointerException
at Anzeige.getJTable(Anzeige.java:149)
at Anzeige.getJScrollPane(Anzeige.java:114)
at Anzeige.getJContentPane(Anzeige.java:103)
at Anzeige.getJFrame(Anzeige.java:90)
at Anzeige.run(Anzeige.java:78)
at Suchen$2.actionPerformed(Suchen.java:312)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

tfa

Top Contributor
In Zeile 149 ist die Variable "con" [c]null[/c]. Und weil du eine Methode darauf aufrufst, fliegt eine NullpointerException.
Die Ursache liegt in der verbindung()-Methode. Hier speicherst du die Connection in einer lokalen Variable ab. Die ist nach Verlassen der Methode nicht mehr sichtbar.
 
T

trääät

Gast
wie schon gesagt : Zeile 60 : shadowing ... du versteckst die globale Connection con hinter einer lokalen Connection con ...
entferne in Zeile 60 einfach "Connection"
 
T

träät

Gast
nachtrag : Statement und ResultSet sollte KEINE globalen variablen sein sondern nur in ihren blöcken lokal verwendet werden ... sonst kann es bei multi-threading dazu kommen das daten verloren gehen und exceptions fliegen ..


btw : GUI-änderungen IMMER im EDT über SwingUtilities.invokeLater(Runnable)
 
I

Ithron

Gast
Danke für die Hilfe :D
Ich sag ja, war was ganz triviales, was ich übersehen habe.

Werde es ausprobieren und dann Rückmeldung geben.
 
I

Ithron

Gast
Hat alles funktioniert, vielen Dank für die schnelle Hilfe! :)
Thema kann dann geschlossen werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben