Il problema è appurato in eclipse perchè con netbeans funziona, la pagina è stata implementata, ora ho una jsp che preleva i dati da un database sfruttando una classe,
All'inizio avevamo creato la classe in modo che il costruttore si occupasse della connesione al db , ho cercato di rendere la classe + usanbile e allora ,visto che i javabean vogliono costruttori senza parametri ho delegato la connessione a un metodo dedicato .Il problema è che se la connessione la esegue il costruttore tutto funziona compreso il metodo elimina utente.
Allego classe funzionante
codice:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package classi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Frame 11
*/
public class Db {
private Connection connect;
public Db(){
try {
Class.forName("com.mysql.jdbc.Driver") ; // Imposta la connessione al server e al database
} catch (ClassNotFoundException ex) {
Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex);
}
try {
connect = DriverManager.getConnection("jdbc:mysql://localhost/mio_db","username","password"); // N.B. la password vuota si scrive password=
} catch (SQLException ex) {
Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex);
}
}
public Connection get_connessione(){
return connect;
}
}
e classe modificata:
codice:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package classeDb;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Frame 11
*/
public class Db {
private Connection connect;
private int id;
private String prova;
public void connettialdatabase(String server,String nomedb,String username,String password){
try {
try {
Class.forName("com.mysql.jdbc.Driver") ; // Imposta la connessione al server e al database
} catch (ClassNotFoundException ex) {
Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex);
}
// prova="jdbc:mysql://"+server+"/"+nomedb+",\""+username+"\",\""+password+"\"";
connect = DriverManager.getConnection("jdbc:mysql://"+server+"/"+nomedb+","+username+","+password+"\""); // N.B. la password vuota si scrive password=
} catch (SQLException ex) {
Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex);
}
}
public Connection get_connessione(){
return connect;
}
public void eliminazione(Connection connect,String id,String tabelladb){
try {
this.connect=connect;
this.id=Integer.parseInt(id);
String nometabella=tabelladb;
String sql = "delete from "+nometabella+" where id="+id;
Statement stmt = connect.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException ex) {
Logger.getLogger(Db.class.getName()).log(Level.SEVERE, null, ex);
}
}
/*
public String getProva(){
return prova;
}
*/
}
Sembra non si connetta perchè ho fatto un :
out.println(db.get_connessione());
L'output nella pagina è null.....