Botão Cadastrar e insert em BD

    Amigos...desculpem pelas aberrações no código...estou ralando quase do zero para aprender Java.

Estou tentando fazer um cadastro da seguinte forma:

* Na classe Principal:

 private class ButtonHandler implements ActionListener {
	   
          // Botão Cadastrar 
		 
          public void actionPerformed( ActionEvent e){
		  
			 // Chama método de conexão c/ BD 
             y =  new ConectaBanco( x );
              if (y) JOptionPane.showMessageDialog(null,"Teste OK !!",JOptionPane.WARNING_MESSAGE);
			 }
			 
		  } // Fim de ActionPerformed
       }  // Fim de buttonhandler	 

* Classe de Conexão ao BD

public class ConectaBanco {
 
    public boolean ConectaBanco( boolean y ) {
       String URL = "jdbc:mysql://localhost:3306/bdsisfin";
       String usuario = "root";
       String senha = "";
       try {
         // Carregando o Driver
         Class.forName("com.mysql.jdbc.Driver");
         // Efetuando a Conexao
         Connection conexao = DriverManager.getConnection(URL, usuario, senha);
         Statement stm = conexao.createStatement();//instancia um statment
		 ComandosSql comandosSql = new ComandosSql();//intancia um comandosSql
		 comandosSql.cadastrarCliente(stm);
		 y = (true);
         conexao.close();
         } catch (ClassNotFoundException objErroDriver) {
            JOptionPane.showMessageDialog(null, "Erro no Driver");
			y = (false);
         }
           catch (SQLException objErroConexao) {
            JOptionPane.showMessageDialog(null, "Erro na Conexao");
			y = (false);
      }
	    return y;
   } // Fim do construtor
} // Fim da classe

A idéia de um “construtor booleano” é bem esquisita, não ? Então qual seria uma lógica melhor ?

                                Grato

bom ate sim, mas eu faria dessa forma, eu faço na verdade neh rs

[code]public class DAOConexao {

static Connection connection;

public java.sql.PreparedStatement pstm;
public java.sql.Connection con;

public DAOConexao() {

try {

     Class.forName("org.apache.derby.jdbc.ClientDriver"); // O sun.jdbc.odbc.JdbcOdbcDriver significa que seria usado um banco access
     String url = "jdbc:derby://localhost:1527/BancoBar;create=false";// esta string carrega o nome da fonte de dados
     connection = DriverManager.getConnection(url,"nome","senha");// aqui  efetuada conex�o passando -se a fonte de dados e o login e senha do banco, que neste caso n�sso existem.
     System.out.println("Conexão estabelecida"); // exibida uma mensagem informando que a conex�o foi efetuada

}

catch ( ClassNotFoundException cnfex ) {
JOptionPane.showMessageDialog(null, “Falha ao carregar o JDBC/ODBC driver.”);
System.exit(0);
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}

}//construtor

public void shutDown()
{// este metodo cancela a conexão
try {
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( “Não foi possivel desconectar” );

 }        

}

public static Connection getConn(){// este metodo retorna a conexão
return connection;
}

}[/code]

qualquer coisa pergunta ai!

essa do construtor booleano é mais para ver se deu certo ou se deu errado a conexão/inserção com o banco de dados…

Não precisa passar a variável que você vai retornar no método como parâmetro, crie ela dentro do escopo, ou retorne true/false direto :slight_smile: