eu criei uma classe de coneção com o banco com os metodos estaticos,
entao... logo qunado eu inicio o programa ele ja abre 4 conexoes... sem eu mesmo chegar na classe onde eu chamo esse metodo estatico... porque?
na clase onde eu chamo a coneçao esta assim:
private conn;
public minha class(){
this.conn = classedeconexao.abrirconexao();
}
e no metodo...
public void meumetodo(){
Connection con;
try{
con = this.conn;
...
classedeconexao.fechar(con);
}
entoa tipo... ele ta fechando e nao abre mais...
ps. esse metodo eu fico chamando ele dentro de um for... em outra classe
cara seguinte, coloca ae as classes de conexao com o banco e as variaveis, você talves esteja iniciando os metodos de conexão na main.
vlws
rbroz85
pow uma classe de conectar padrao...
publicclassConnectionFactory{/** Creates a new instance of ConnectFactory */publicConnectionFactory(){}publicstaticConnectiongetConnection(){Connectioncon=null;try{Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection("?????","????","????");System.out.println("Connection JDBC Opened");}catch(SQLExceptionex){System.out.println("Connection JDBC Opened");ex.printStackTrace();System.out.println("Connection JDBC not Started");}catch(ClassNotFoundExceptionex){System.out.println("Connection JDBC - Class not Found");ex.printStackTrace();}returncon;}publicstaticvoidcloseConnection(Connectionconn,Statementstmt,ResultSetrs){close(conn,stmt,rs);}publicstaticvoidcloseConnection(Connectionconn,Statementstmt){close(conn,stmt,null);}publicstaticvoidcloseConnection(Connectionconn){close(conn,null,null);}privatestaticvoidclose(Connectionconn,Statementstmt,ResultSetrs){System.out.println("Connection JDBC Closed");try{if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(conn!=null)conn.close();}catch(SQLExceptionex){ex.printStackTrace();}}}
eu so chamo ela na clasa consulta:
publicclassConsulta{privateConnectionconn;privateErroserros;privateEscreveescreve;/** Creates a new instance of Consulta */publicConsulta(){System.out.println("ENTREI AKI CONSULTA");this.conn=ConnectionFactory.getConnection();}publicStringgetCodigo(Stringnome){Connectionconn=null;Stringsql="select codigo from custo where nome = ?";ResultSetrs=null;Stringcod="";try{conn=this.conn;PreparedStatementprep=(PreparedStatement)conn.prepareStatement(sql);prep.setString(1,nome);rs=(ResultSet)prep.executeQuery();while(rs.next())cod=rs.getString(1);}catch(SQLExceptionex){ex.printStackTrace();}finally{ConnectionFactory.closeConnection(conn);}returncod;}