hi,
ich hab mir hier aus dem forum eine klasse geklaut die eine Datenbankverbindung herstellt. Sobald ich ein Objekt der klasse erzeuge, die connection herstelle und anschließend ein sql statement ausführe krieg ich immer ne nullpointerexception.
hier mal der code
warum die exception geworfen wird versteh ich nich so ganz - abfängen lässt sie sich auch nicht.
mit einer mysqldatasource klappt es - das problem ist nur ich brauch eine verbindung zu einer access db, für die es meine wissens nach keine datasource gibt.
weiss jmd zufällig warum?
ich hab mir hier aus dem forum eine klasse geklaut die eine Datenbankverbindung herstellt. Sobald ich ein Objekt der klasse erzeuge, die connection herstelle und anschließend ein sql statement ausführe krieg ich immer ne nullpointerexception.
hier mal der code
Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class Database {
private Connection conn = null;
private Statement stmt;
private ResultSet rs;
private ResultSetMetaData rsmd;
public void connect() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception e) {
e.printStackTrace();
}
try {
//conn = DriverManager.getConnection("jdbc:odbc:database", null, null);
this.stmt = this.conn.createStatement();
} catch (SQLException sqle) {
System.out.println("SQLException: " + sqle.getMessage());
System.out.println("SQLState: " + sqle.getSQLState());
System.out.println("VendorError: " + sqle.getErrorCode());
sqle.printStackTrace();
}
}
public ResultSet executeSQL(String sqlStatement) //SQL Statement ausführen
{
try {
this.stmt=connection.createStatement();
return stmt.executeQuery(sqlStatement);
}
catch(SQLException e){
System.out.println(e.getSQLState());
}
return null;
}
Code:
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
public Main() {
}
public static void main(String[] args) throws Exception {
ResultSet rs;
Database db = new Database();
db.connect();
rs=db.executeSQL("select * from table;");
}
}
warum die exception geworfen wird versteh ich nich so ganz - abfängen lässt sie sich auch nicht.
mit einer mysqldatasource klappt es - das problem ist nur ich brauch eine verbindung zu einer access db, für die es meine wissens nach keine datasource gibt.
weiss jmd zufällig warum?