MySQL Problem bei Tabelle ausgeben

Hey Leute!

Ich möchte mit Java meine Tabelle in MySQL auslesen lassen und ich finde einfach den Fehler nicht, wieso das nicht funktioniert.
Habe auch schon Google benutzt aber mir konnte nichts wirklich weiter helfen, was ich da gefunden habe.
Meine Quelle war die Seite hier:
A Java MySQL SELECT example | Java MySQL tutorial series | alvinalexander.com
Nur leider hat mir das auch nichts weiter gebracht. :bahnhof:

Als Ergebnis wird das ausgegeben:
Java:
Start
Treiber hat geladen!
Ich habe eine Verbindung!
Tabelle kann nicht ausgegeben werden!
java.sql.SQLException: Before start of result set
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
	at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:720)
	at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2617)
	at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2749)
	at datenbank.Datenbank.main(Datenbank.java:50)

Hier ist mein Quellcode:
Java:
import java.sql.*;

public class Datenbank {

	
	
	public static void main (String [] args) throws SQLException {
		
		System.out.println("Start");
		
		String driver = ("com.mysql.jdbc.Driver");
		String host = ("jdbc:mysql://localhost:3306/");
		String dbname = ("test");
		String username = "root";
		String password = "";
		
		Connection conn = null;
		
		try {
			Class.forName(driver);
			System.out.println("Treiber hat geladen!");
		} catch (ClassNotFoundException cnfe) {
			System.out.println("Kein Treiber konnte geladen werden. "
					+ cnfe);
		}
		
		String url = host + dbname;
		try {
			conn = DriverManager.getConnection(url);
			System.out.println("Ich habe eine Verbindung!");
		} catch (Exception e){
			System.out.println("Ich habe keine Verbindung! "
					+ e);
		}

		Statement stat = null;
		ResultSet res = null;
		stat = conn.createStatement();
		res = stat.executeQuery("SELECT * FROM testkunde");
			
			try {
				
			int id = res.getInt("id");
			String name = res.getString("name");
			String vorname = res.getString("vorname");
			String email = res.getString("e-mail");
			Date gebdat = res.getDate("gebdat");
			String format = null;
			
			System.out.format(format, id, name, vorname, email, gebdat, args);
			conn.close();
		} catch (Exception e) {
			System.out.println("Tabelle kann nicht ausgegeben werden!");
			e.printStackTrace();
		}

	}
}

Danke schonmal im Vorraus!n 🙂
 
Wenn du die Meldung gegoogelt hättest, wärst du schon weiter. Bevor man Daten aus einem ResulSet ziehen kann, muss man next() aufrufen, damit der Zeiger in einer Zeile des Ergebnisses ist.
Da du vermutlich mehrere Zeilen ausgeben willst, empfiehlt sich eine while-Schleife.
 
Okay, das habe ich jetzt mal gemacht.
Jetzt gibt er mir 3 mal diesen Fehler hier aus:
Java:
Tabelle kann nicht ausgegeben werden!
java.lang.NullPointerException
	at java.util.regex.Matcher.getTextLength(Unknown Source)
	at java.util.regex.Matcher.reset(Unknown Source)
	at java.util.regex.Matcher.<init>(Unknown Source)
	at java.util.regex.Pattern.matcher(Unknown Source)
	at java.util.Formatter.parse(Unknown Source)
	at java.util.Formatter.format(Unknown Source)
	at java.io.PrintStream.format(Unknown Source)
	at datenbank.Datenbank.main(Datenbank.java:55)
 
Okay, das habe ich jetzt mal gemacht.
Jetzt gibt er mir 3 mal diesen Fehler hier aus:
Java:
Tabelle kann nicht ausgegeben werden!
java.lang.NullPointerException
	at java.util.regex.Matcher.getTextLength(Unknown Source)
	at java.util.regex.Matcher.reset(Unknown Source)
	at java.util.regex.Matcher.<init>(Unknown Source)
	at java.util.regex.Pattern.matcher(Unknown Source)
	at java.util.Formatter.parse(Unknown Source)
	at java.util.Formatter.format(Unknown Source)
	at java.io.PrintStream.format(Unknown Source)
	at datenbank.Datenbank.main(Datenbank.java:55)

Etwas Eigeninitiative wäre hier sehr angebracht! Die Fehlermeldung sagt doch schon wo das Problem liegt (im StackTrace kannst du es sogar auf die Zeile genau sehen!).

Du willst eine Ausgabe mit bestimmten Format haben, aber das Format hast du nicht initalisiert => null
Da für die Ausgabe mit diesem Format gearbeitet werden muss und diese eben null ist kommt es zu einer NullPointerException
 

Neue Themen


Zurück
Oben