Botão Cadastrar e insert em BD

3 respostas
S
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

3 Respostas

L

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

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;
}

}

qualquer coisa pergunta ai!

JonaTHANNM

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

esdmorais

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:

Criado 10 de junho de 2011
Ultima resposta 10 de jun. de 2011
Respostas 3
Participantes 4