moinsens
ich habe 2 klassen.
SQLClass.java und MySqlTest.java
und ich bekomm folgenden fehler
Exception in thread "main" java.lang.NullPointerException
at sqlTest.SQLClass.<init>(SQLClass.java:11)
at sqlTest.MySqlTest.main(MySqlTest.java:27)
also n nullpointer
zeile 11. SQLClass ist
Statement stmt = con.createStatement();
con scheint nicht initialisiert zu sein....
hmmm
verständnissfrage:
ich erstelle in der MySQLTest.java datei ein objekt SQLClass ctest1.
somit wird ja die klasse SQLClass aufgerufen und der konstruktor als erstes ausgeführt und somit die con initialisiert?
kapier das net ganz....
thx for help & gruss
ich habe 2 klassen.
SQLClass.java und MySqlTest.java
Code:
package sqlTest;
import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class MySqlTest
{
public static void main( String[] args ) throws SQLException, ClassNotFoundException
{
JTable table = new JTable();
String[] tblHead = {"RFID UID","Device Name","Device Type","Serial"};
SQLClass ctest1 = new SQLClass();
ResultSet datenmenge;
datenmenge = ctest1.ExecuteSelect("Select * from devices");
DefaultTableModel aModel = (DefaultTableModel) table.getModel();
aModel.setColumnIdentifiers(tblHead);
ResultSetMetaData rsmd = datenmenge.getMetaData();
int colNo = rsmd.getColumnCount();
while (datenmenge.next()) {
Object[] objects = new Object[colNo];
for (int i = 0; i < colNo; i++) {
objects[i] = datenmenge.getObject(i + 1);
}
aModel.addRow(objects);
}
JFrame f = new JFrame();
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
table.setModel(aModel);
f.add(new JScrollPane(table));
f.pack();
f.setVisible( true );
}
}
Code:
package sqlTest;
import java.sql.*;
public class SQLClass {
Connection con;
Statement stmt = con.createStatement();
public SQLClass() throws ClassNotFoundException, SQLException{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.println("klasse nicht gefunden");
}
con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
}
public ResultSet ExecuteSelect(String query) throws SQLException{
ResultSet datenmenge;
datenmenge = stmt.executeQuery(query);
return datenmenge;
}
public void ExecuteUpdate(String query) throws SQLException{
stmt.executeUpdate(query);
}
public void ExecuteBatchUpdate(String query){
}
}
und ich bekomm folgenden fehler
Exception in thread "main" java.lang.NullPointerException
at sqlTest.SQLClass.<init>(SQLClass.java:11)
at sqlTest.MySqlTest.main(MySqlTest.java:27)
also n nullpointer
zeile 11. SQLClass ist
Statement stmt = con.createStatement();
con scheint nicht initialisiert zu sein....
hmmm
verständnissfrage:
ich erstelle in der MySQLTest.java datei ein objekt SQLClass ctest1.
somit wird ja die klasse SQLClass aufgerufen und der konstruktor als erstes ausgeführt und somit die con initialisiert?
kapier das net ganz....
thx for help & gruss