Re:Excecao e Conexoa com Banco

4 respostas
thiagoalgeri

try {
conexao = ControladorConexao.abrirConexao();

prepStatement = conexao.prepareStatement(sql);
	prepStatement.setString(1, pVOCargo.getCodCargo());
	prepStatement.setString(2, pVOCargo.getNomeCargo());
		
		
	prepStatement.executeUpdate();
	prepStatement.close();
	conexao.close();
System.out.println("<em>--------------------------------------- Cargo Incluido com Sucesso… ----------------------------------</em> \n\n");

}

catch (SQLException e)

{

throw new SQLException(e.getMessage());

}

[b]finaly{

conexao.close();

}[/b]

4 Respostas

thiagoalgeri

esqueci de remover do try o chamada ao close.
Remove está linha " conexao.close();" do try deixando somente no finaly

V
Gente eu gostaria de saber , se no momento que for capturado uma Excecao , a minha conexao com o banco vai seria finalizada !?
uma exceção só é capturada quando é lançada dentro de um bloco de try
try {
       		1-conexao = ControladorConexao.abrirConexao(); 		
                2-prepStatement = conexao.prepareStatement(sql);
 		3-prepStatement.setString(1, pVOCargo.getCodCargo());
 		4-prepStatement.setString(2, pVOCargo.getNomeCargo());
 			
 			
 		5-prepStatement.executeUpdate();
 		6-prepStatement.close();
 		7-conexao.close();
 
                8-System.out.println("*--------------------------------------- Cargo Incluido com Sucesso.. ----------------------------------* \n\n");
 		}

antes de fechar a conexão vc tem 6 comandos onde somente o 1, 2 e o 5 podem lançar uma SQLException

Pois eu gostaria de no momento que a exceção fosse chamada a minha conexoa com o banco fosse finalizada !!
basta colocar dentro do bloco catch o seu close
I

Duvida ao executar sqlException ?

public void incluir(VOCargo pVOCargo) throws SQLException  {

		PreparedStatement prepStatement = null;
String sql = " INSERT INTO CARGO (COD_CARGO , NOME_CARGO ) VALUES (? ,? )";
 
 try {
      		conexao = ControladorConexao.abrirConexao();
		
                prepStatement = conexao.prepareStatement(sql);
		prepStatement.setString(1, pVOCargo.getCodCargo());
		prepStatement.setString(2, pVOCargo.getNomeCargo());
			
			
		prepStatement.executeUpdate();
		prepStatement.close();
		conexao.close();

System.out.println("*--------------------------------------- Cargo Incluido com Sucesso.. ----------------------------------* \n\n");
		}
		catch (SQLException e) 
		{
			throw new SQLException(e.getMessage());
		}
	}

Gente a minha duvida nao é quanto ao codigo , que fike bem claro !!

A duvida é ?

Gente eu gostaria de saber , se no momento que for capturado uma Excecao , a minha conexao com o banco vai seria finalizada !?

POr isso coloquei (conexao.close():wink: dentro do meu try{}catch();

Pois eu gostaria de no momento que a exceção fosse chamada a minha conexoa com o banco fosse finalizada !!

Agradeço a quem ajudar !

I

O que voces me indicam ?

Criar uma Connection global ou criar uma Conncection dentro de cada metodo ?

Exemplo .:

public class Teste {

        private Connection conexao = null ;

        public void InserirCargo() {
               
       conexao = Conexao.abrirConexao() ; // Chama a classe que abre conexao com o banco ;
       
         }
}
public class Teste {

        public void InserirCargo() {
               
       Connection conexao = Conexao.abrirConexao() ; // Chama a classe que abre conexao com o banco ;
       
         }
}

Agradeço novamente !

Criado 14 de agosto de 2006
Ultima resposta 14 de ago. de 2006
Respostas 4
Participantes 3