S
Spellsleeper
Gast
Hi,
ich habe noch wenig Datenbankerfahrung, aber mit dem RowSet bekomme ich, obwohl es eine Erweiterung von ResultSet ist, irgendwelche Probleme.
Hier ist die Fehlermeldung aus Eclipse.
Mit ResultSet hatte ich diese Meldung nicht(konnte aber die Daten nicht wie gewünscht navigieren).
Kann jemand von euch den Fehler erkennen????:L
ich habe noch wenig Datenbankerfahrung, aber mit dem RowSet bekomme ich, obwohl es eine Erweiterung von ResultSet ist, irgendwelche Probleme.
Java:
package adressBank;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import javax.sql.RowSet;
import javax.sql.rowset.JdbcRowSet;
import com.sun.rowset.JdbcRowSetImpl;
public class DataCommand {
private static Connection con;
private static Statement stmt;
private static JdbcRowSet rs;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
public void verbinden() {
try {
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager
.getConnection("jdbc:sqlite:adressen.db");
stmt = con.createStatement();
rs=new JdbcRowSetImpl(con);
rs.setType(ResultSet.TYPE_SCROLL_INSENSITIVE);
this.aufheben();
} catch (Exception e) {
e.printStackTrace();
System.out
.println("Verbindungsaufbau fehlgeschlagen(DataCommand.verbinden())");
}
}
public void vor() {
try {
rs.next();
this.anzeigen();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void zurueck() {
try {
rs.previous();
this.anzeigen();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void einfügen() {
char c = '\'';
char k = ',';
try {
stmt.execute("INSERT INTO adressen (name,vorname,strasse,plz,ort,telefon,mobil,mail1,mail2,kategorie,institution,geburtstag,sonstiges)"
+ "VALUES ("
+ c
+ MainFrame.name.getText()
+ c
+ k
+ c
+ MainFrame.vorname.getText()
+ c
+ k
+ c
+ MainFrame.strasse.getText()
+ c
+ k
+ c
+ MainFrame.plz.getText()
+ c
+ k
+ c
+ MainFrame.ort.getText()
+ c
+ k
+ c
+ MainFrame.telefon.getText()
+ c
+ k
+ c
+ MainFrame.mobil.getText()
+ c
+ k
+ c
+ MainFrame.mail1.getText()
+ c
+ k
+ c
+ MainFrame.mail2.getText()
+ c
+ k
+ c
+ MainFrame.kategorie.getText()
+ c
+ k
+ c
+ MainFrame.institution.getText()
+ c
+ k
+ c
+ MainFrame.geburtstag.getText()
+ c
+ k
+ c
+ MainFrame.sonstiges.getText() + c + ")");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void suchen(String s) {
try {
if (s == "") {
this.aufheben();
} else {
rs.setCommand("SELECT * FROM adressen WHERE name LIKE *"
+ s + "*");
rs.execute();
rs.next();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void entfernen() {
}
public void aufheben() {
try {
rs.setCommand("SELECT * FROM adressen");
rs.execute();
rs.next();
this.anzeigen();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void anzeigen() {
try {
MainFrame.name.setText(rs.getString("name"));
MainFrame.vorname.setText(rs.getString("vorname"));
MainFrame.strasse.setText(rs.getString("strasse"));
MainFrame.plz.setText(rs.getString("plz"));
MainFrame.ort.setText(rs.getString("ort"));
MainFrame.telefon.setText(rs.getString("telefon"));
MainFrame.mobil.setText(rs.getString("mobil"));
MainFrame.mail1.setText(rs.getString("mail1"));
MainFrame.mail2.setText(rs.getString("mail2"));
MainFrame.kategorie.setText(rs.getString("kategorie"));
MainFrame.institution.setText(rs.getString("institution"));
MainFrame.geburtstag.setText(rs.getString("geburtstag"));
MainFrame.sonstiges.setText(rs.getString("sonstiges"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void hilfe() {
HelpFrame hf = new HelpFrame();
}
}
Code:
java.lang.NullPointerException
at com.sun.rowset.JdbcRowSetImpl.prepare(Unknown Source)
at com.sun.rowset.JdbcRowSetImpl.execute(Unknown Source)
at adressBank.DataCommand.aufheben(DataCommand.java:146)
at adressBank.DataCommand.verbinden(DataCommand.java:29)
at adressBank.Run.main(Run.java:10)
Kann jemand von euch den Fehler erkennen????:L