Salve,
sto faccendo dei test usando la pillola Connessione Java con Mysql postato da LeleFT. Ho creato un database con una tabella "studente" (matricola,nome,cognome,indirizzo,citta) con matricola auto_increment. Ho creato la seguente classe "Database.java":
public class Database {
private String db_name; // Nome del Database a cui connettersi
....

//Apre la connessione con il Database
public boolean connect() {
....
}
public Vector eseguiQuery(String query) {
Vector v = null;
String [] record;
int colonne = 0;
try{
Statement stmt = conn.createStatement(); // Creo lo Statement per l'esecuzione della query
ResultSet rs = stmt.executeQuery(query); // Ottengo il ResultSet dell'esecuzione della query
v = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
colonne = rsmd.getColumnCount();

while(rs.next()) { // Creo il vettore risultato scorrendo tutto il ResultSet
record = new String[colonne];
for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
v.add( (String[]) record.clone() );
}
rs.close(); // Chiudo il ResultSet
stmt.close(); // Chiudo lo Statement
}catch(Exception e){
e.printStackTrace();
errore = e.getMessage();
}
return v;
}

public boolean eseguiUpdate(String query) {
....
}

public void disconnect() {
....
}


public boolean isConnect(){
....
}
public String getError(){
....
}
}
Ho creato la seguente classe che mi contiene le principali metodi tipo inserimento, cancellazione, modifica ecc. al database. Ecco il mio primo metodo di inserimento.
public void aggiungiStudente(String nome, String cognome, String indirizzo, String citta){
Database db = new Database("msdb","root", "root");
if ( !db.connect() ) { //se non ho la connessione(false), quindi condizione vera, stampa errore ed esci!
System.out.println("Errore durante la connessione.");
System.out.println( db.getError() );
System.exit(0);
}

String query="insert into studente (nome,cognome,indirizzo,citta) values" +"('" +nome+ "','" +cognome+ "','" +indirizzo+"','"+citta+"')"+";";
[/B]db.eseguiQuery(query);[/B]
}
Vado a fare un test sulla classe Main:
public static void main(String[] args) {
Manage m = new Manage();
/**
* 1- l’inserimento di uno studente
* basta fare m.aggiungiStudente("nome","cognome","indirizzo","c itta");
*/
m.aggiungiStudente("mario", "rossi", "via roma", "roma");
}
...ed ottengo il seguente errore:
java.lang.NullPointerException
at studentmanagement.Database.eseguiQuery(Database.ja va:69)
at studentmanagement.Manage.aggiungiStudente(Manage.j ava:18)
at studentmanagement.Main.main(Main.java:17)
Nei BOLD text si verificano i NullPointerExceptions. Quindi per prima nella classe Database.java sulla creazione dello statement per l'esecuzione della mia query. Perche?

Grazie