Hallo
Ich habe einen neuen Rechner mit Eclipse 3.5 und MYSQL 5.1. Mein Schulprojekt habe ich auf einem alten Rechner mit Eclipse 3.0 und MYSQL 4.1 angefangen. Nun habe ich das Projekt in Eclipse 3.5 importiert und die Klasse für die Datenbankanbindung angepasst. Ich kann auch zugreifen, aber ich habe nun folgendes Problem und komme seit mehreren Tagen nicht mehr weiter.
Wenn ich das Projekt starte, dann kommt in der Konsole folgende Meldung:
Code für readLastkunde in der DBManager Klasse:
Code DBStarter:
Wenn ich aber den Kundenerfassungsdialog von JInternalFrame in ein JFrame ändere und ihn seperat über einen Starter aufrufe, dann kann ich zwar alle Kunden lesen, jedoch erscheint in der Konsole folgende Fehlermeldung:
Für Hilfe wäre ich sehr dankbar.
MFG
Ich habe einen neuen Rechner mit Eclipse 3.5 und MYSQL 5.1. Mein Schulprojekt habe ich auf einem alten Rechner mit Eclipse 3.0 und MYSQL 4.1 angefangen. Nun habe ich das Projekt in Eclipse 3.5 importiert und die Klasse für die Datenbankanbindung angepasst. Ich kann auch zugreifen, aber ich habe nun folgendes Problem und komme seit mehreren Tagen nicht mehr weiter.
Wenn ich das Projekt starte, dann kommt in der Konsole folgende Meldung:
java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1072)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:986)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:981)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5656)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5576)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5616)
at model.DBManager.readLastkunde(DBManager.java:198)
at control.MasterKontroller.<init>(MasterKontroller.java:21)
at control.StartKontroller.start(StartKontroller.java:26)
at control.StartKontroller.main(StartKontroller.java:14)
Code für readLastkunde in der DBManager Klasse:
Java:
public Kunden readLastkunde() {
Connection verbindung = null;
try
{
verbindung = DBStarter.getConnection();
} catch (InstantiationException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
try
{
verbindung = DBStarter.getConnection();
} catch (InstantiationException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
Statement anweisung;
ResultSet ergebnis;
Kunden curKunde = null;
try {
anweisung = (Statement) verbindung.createStatement();
ergebnis = (ResultSet) anweisung
.executeQuery("Select * from kunde order by createtime desc limit 1");
curKunde = new Kunden();
curKunde.setTitel(ergebnis.getString("titel"));
curKunde.setName(ergebnis.getString("name"));
curKunde.setVorName(ergebnis.getString("vorname"));
curKunde.setStrassenNr(ergebnis.getString("strassennr"));
curKunde.setPlz(ergebnis.getString("plz"));
curKunde.setOrt(ergebnis.getString("ort"));
curKunde.setTel(ergebnis.getString("tel"));
curKunde.setHandy(ergebnis.getString("handy"));
String geschl = ergebnis.getString("geschlecht");
if (geschl != null)
if (geschl.equals("1"))
curKunde.setGeschlecht(true);
else
curKunde.setGeschlecht(false);
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");
String geb = ergebnis.getString("geburtsdatum");
if (geb != null)
curKunde.setGeburtsdatum(format.parse(geb));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException p) {
// TODO Auto-generated catch block
p.printStackTrace();
}
return curKunde;
}
Code DBStarter:
Java:
public class DBStarter
{
private static Connection curConnection = null;
public static Connection getConnection() throws InstantiationException
{
if (curConnection == null)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
// Connection herstellen
String tTreiber ="jdbc:mysql:";
String tServer ="localhost";
String tPort ="3306";
String tSchema ="schulprojekt";
String tUser ="root";
String tPasswort ="";
String tConnectionString = tTreiber + "//" + tServer + ":" + tPort + "/" + tSchema;
curConnection = DriverManager.getConnection(tConnectionString, tUser, tPasswort);
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return curConnection;
}
}
Wenn ich aber den Kundenerfassungsdialog von JInternalFrame in ein JFrame ändere und ihn seperat über einen Starter aufrufe, dann kann ich zwar alle Kunden lesen, jedoch erscheint in der Konsole folgende Fehlermeldung:
java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1072)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:986)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:981)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5656)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5576)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5616)
at model.DBManager.readLastkunde(DBManager.java:198)
at test.StartDialogKunde.main(StartDialogKunde.java:26
Für Hilfe wäre ich sehr dankbar.
MFG