Ir ao conteúdo
  • Cadastre-se
Victorbg

(CRUD) Inserir dados de Associado no Banco MySQL

Recommended Posts

Boa noite senhores

Estou fazendo um sistema de Museu em Java pelo Netbeans que é o trabalho da minha faculdade, tudo por enquanto está bem quando executo o menu principal e clico em cada aba ele chama as opções e tal, porém estou tendo problema na inserção dos campos da textField na tabela tabassociado nos códigos a seguir. Não sei se esse é o jeito certo de mostrar minha dúvida ou se seria melhor mandar o projeto inteiro, mas vamos lá:

 

 

Classe de conexão com o banco:

package Banco;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class Banco {    private String usuario, senha, servidor, nomebanco;    private int porta;    private Connection conexao = null;        public Banco(){            }        public Banco(String usuario, String senha, String servidor, String nomebanco, int porta){        this.usuario = usuario;        this.senha = senha;        this.servidor = servidor;        this.nomebanco = nomebanco;        this.porta = porta;    }        public String getUsuario(){        return usuario;    }        /* Getters e setters... */    /*    * Recebe a conexão e retorna a mesma do banco de dados    */    public Connection getConexao(){         return conexao;     }         /**     * Abre o Banco de Dados, realiza tentativa de pegar a conexao atraves do Driver JDBC, caso contrario a conexao      * retorna NULL     */    public void abrir() {    try {         Class.forName("com.mysql.jdbc.Driver");         conexao = DriverManager.getConnection("jdbc:mysql://" +             getServidor() + ":" + getPorta() + "/" +             getNomebanco(), getUsuario(), getSenha());     } catch (SQLException ex) {         ex.printStackTrace();         conexao = null;     } catch (ClassNotFoundException ex) {         ex.printStackTrace();         conexao = null;     }    }           /**     * Fecha a conexao com o banco de dados     */    public void fechar() {        try {            conexao.close();        } catch (SQLException ex) {            ex.printStackTrace();        }    }        /**     *Atualiza a conexao com o Banco de dados      *     */    public int atualizar(String sql) {        /**Chama um objeto stm de Statement que chama os metodos getConexao junto com createStatement e retorna         * atualiza caso der certo, se nao, imprime a pilha de erros de exception         */        try {            Statement stm = getConexao().createStatement();            return stm.executeUpdate(sql);        } catch (SQLException ex) {             ex.printStackTrace();          return -1;        }     }   }

Controller Associado:

package Controller;import Model.Associado;import PersistenciaDAO.AssociadoDAO;import java.sql.SQLException;import java.util.ArrayList;import java.util.logging.Level;import java.util.logging.Logger;public class ControleAssociado {    private Associado objAssociado;            public boolean SalvarAssociado(Object obj){        try {            return new AssociadoDAO().inserir(obj);        } catch (SQLException ex) {            ex.printStackTrace();            return false;        }    }}

vou Associado (Model):

 package Model;/** * * @author Victor */public class Associado {    private String nome, rua, complemento, cidade, bairro, estado, dataNascimento;    private int idAssociado, numero, cep, rg, cpf, telCom, telRes, telCel;    private Login login;        public Associado(){}    public Associado(int idAssociado, String nome, String dataNascimento, String rua, String complemento, int numero,   String cidade, String bairro, int cep, String estado, int rg, int cpf, int telCom, int telRes, int telCel){       this.idAssociado = idAssociado;       this.nome = nome;       this.dataNascimento = dataNascimento;       this.rua = rua;       this.complemento = complemento;       this.numero = numero;       this.cidade = cidade;       this.bairro = bairro;       this.cep = cep;       this.estado = estado;       this.rg = rg;       this.cpf = cpf;       this.telCom = telCom;       this.telRes = telRes;       this.telCel = telCel;        }    /**     * @[member=Return] the nome     */    public String getNome() {        return nome;    }  /* Getters e setters... */}

 DAO de Associado (persistência):

 package PersistenciaDAO;import Model.Associado;import Banco.Banco;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.List;import java.util.Vector;/** * * @author Victor */public class AssociadoDAO implements DAO {    PreparedStatement pstm = null;    Statement stm = null;    Banco banco = new Banco("root","","localhost","museu",3306);    ResultSet rs = null;    String sql = null;        public AssociadoDAO(){       this.banco=banco;    }            @[member=override]    public boolean inserir(Object obj) throws SQLException {        Associado associado;                if(obj instanceof Associado){            associado=(Associado)obj;        }else{            return false;        }        sql="INSERT INTO tabassociado (nome, dataNascimento, rua, complemento, numero, cidade, bairro, cep, estado, rg, cpf, telCom, telRes, telCel)" + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";        banco.abrir();        pstm = banco.getConexao().prepareStatement(sql);        pstm.setString(1, associado.getNome());        pstm.setString(2, associado.getDataNascimento());        pstm.setString(3, associado.getRua());        pstm.setString(4, associado.getComplemento());        pstm.setInt   (5, associado.getNumero());        pstm.setString(6, associado.getCidade());        pstm.setString(7, associado.getBairro());        pstm.setInt   (8, associado.getCep());        pstm.setString(9, associado.getEstado());        pstm.setInt   (10, associado.getRg());        pstm.setInt   (11, associado.getCpf());        pstm.setInt   (12, associado.getTelCom());        pstm.setInt   (13, associado.getTelRes());        pstm.setInt   (14, associado.getTelCel());        boolean retorno;        retorno = (pstm.executeUpdate() == 0 ? false : true );        banco.fechar();        return retorno;    }    @[member=override]    public boolean alterar(Object obj) throws SQLException {        Associado associado;                if(obj instanceof Associado){            associado=(Associado)obj;        }else{            return false;        }        sql = "UPDATE tabassociado SET nome = '" +associado.getNome()+ "', dataNascimento ='" +associado.getDataNascimento()+ "',rua ='" +associado.getRua()+ "', "                + "complemento = '" +associado.getComplemento()+ "' , numero = '" +associado.getNumero()+ "', cidade ='" +associado.getCidade()+ "', "                + "bairro ='" +associado.getBairro()+ "', cep = '" +associado.getCep()+ "', estado = '" +associado.getEstado()+ "', rg = '" +associado.getRg()+ "', "                + "cpf = '" +associado.getCpf()+ "', telCom = '" +associado.getTelCom()+ "', telRes = '" +associado.getTelRes()+ "', telCel = '" +associado.getTelCel()+ "', "                + "WHERE idAssociado ='" +associado.getIdAssociado()+ "'";        banco.abrir();        stm = banco.getConexao().prepareStatement(sql);        if(stm.executeUpdate(sql)>0){            banco.fechar();            return true;        } else {            return false;        }    }    @[member=override]    public boolean excluir(Object obj) throws SQLException {        Associado associado;        if(obj instanceof Associado){            associado =(Associado)obj;          }else{            return false;        }        sql = "DELETE FROM tabassociado WHERE nome ='"+associado.getNome()+"'";        banco.abrir();        stm = banco.getConexao().prepareStatement(sql);         if(stm.executeUpdate(sql)>0){            banco.fechar();            return true;        } else {            return false;        }    }    @[member=override]    public Object pesquisar(int pk) throws SQLException {        Associado ass = null;                        sql= "SELECT * FROM tabassociado WHERE idAssociado =" + pk;        banco.abrir();        stm = banco.getConexao().createStatement();        rs = stm.executeQuery(sql);        if(rs.next()){            ass = new Associado();            ass.setNome(rs.getString("nome"));        }        rs.close();        banco.fechar();        return ass;      }    @[member=override]    public List listar(String criterio) throws SQLException {        Associado ass = null;        Vector lista = new Vector <Associado>();        if(criterio.isEmpty()){            sql= "SELECT * FROM tabassociado";            } else {            sql= "SELECT * FROM tabassociado WHERE = " + criterio;            banco.abrir();            stm = banco.getConexao().createStatement();            rs = stm.executeQuery(sql);            while(rs.next()){            //Recebe o conteúdo da tabela e insere diretamente na lista             ass = new Associado();            ass.setNome(rs.getString("nome"));            ass.setDataNascimento(rs.getString("dataNascimento"));            ass.setRua(rs.getString("rua"));            ass.setComplemento(rs.getString("complemento"));            ass.setNumero(rs.getInt("numero"));            ass.setCidade(rs.getString("cidade"));            ass.setBairro(rs.getString("bairro"));            ass.setCep(rs.getInt("cep"));            ass.setEstado(rs.getString("estado"));            ass.setRg(rs.getInt("rg"));            ass.setCpf(rs.getInt("cpf"));            ass.setTelCom(rs.getInt("telCom"));            ass.setTelRes(rs.getInt("telRes"));            ass.setTelCel(rs.getInt("telCel"));            lista.add(ass);            //fecha o Banco e o Resultset            }            banco.fechar();            return lista;        }       return null;     }        public boolean login(String login, String senha) throws SQLException {        Associado ass = null;                        sql= "SELECT * FROM associado WHERE login='"+login+"' and senha= '"+senha+"'";        //sql="select * from teste";        banco.abrir();        stm = banco.getConexao().createStatement();        rs = stm.executeQuery(sql);       if(rs.next()){            if((rs.getString("login").equalsIgnoreCase(login)) && (rs.getString("senha").equalsIgnoreCase(senha))){                rs.close();                banco.fechar();            return true;            } else {                rs.close();                banco.fechar();            return false;            }       }       else       return false;    }    }

 

View de Associado:

package View;import Controller.ControleAssociado;import Model.Associado;import javax.swing.JOptionPane;public class FormCadAssociado extends javax.swing.JFrame {    /**     * Creates new form FormAssociado     */    public FormCadAssociado() {        initComponents();    }    /**     * This method is called from within the constructor to initialize the form.     * WARNING: Do NOT modify this code. The content of this method is always     * regenerated by the Form Editor.     */    @SuppressWarnings("unchecked")     /* Generated Code */    private void jbtCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                                     Associado associado = new Associado();        associado.setNome(jtfNome.getText());        associado.setDataNascimento(jtfDataNasc.getText());        associado.setRua(jtfRua.getText());        associado.setComplemento(jtfComplemento.getText());        associado.setNumero(Integer.parseInt(jtfNumero.getText()));        associado.setCidade(jtfCidade.getText());        associado.setBairro(jtfBairro.getText());        associado.setCep(Integer.parseInt(jtfCep.getText()));        associado.setEstado(jtfEstado.getText());        associado.setRg(Integer.parseInt(jtfRg.getText()));        associado.setCpf(Integer.parseInt(jtfCpf.getText()));        associado.setTelCom(Integer.parseInt(jtfTelCom.getText()));        associado.setTelRes(Integer.parseInt(jtfTelRes.getText()));        associado.setTelCel(Integer.parseInt(jtfTelCel.getText()));                ControleAssociado ctass = new ControleAssociado();        ctass.SalvarAssociado(associado);                JOptionPane.showMessageDialog(this, "Associado cadastrado com sucesso!");        limparTextField();            }                                                public void limparTextField(){        jtfNome.setText("");        jtfDataNasc.setText("");        jtfRua.setText("");        jtfComplemento.setText("");        jtfNumero.setText("");        jtfCidade.setText("");        jtfBairro.setText("");        jtfCep.setText("");        jtfEstado.setText("");        jtfRg.setText("");        jtfCpf.setText("");        jtfTelCel.setText("");        jtfTelCom.setText("");        jtfTelRes.setText("");    }            /**     * @param args the command line arguments     */    public static void main(String args[]) {        /* Set the Nimbus look and feel */        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html          */        try {            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {                if ("Nimbus".equals(info.getName())) {                    javax.swing.UIManager.setLookAndFeel(info.getClassName());                    break;                }            }        } catch (ClassNotFoundException ex) {            java.util.logging.Logger.getLogger(FormCadAssociado.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        } catch (InstantiationException ex) {            java.util.logging.Logger.getLogger(FormCadAssociado.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        } catch (IllegalAccessException ex) {            java.util.logging.Logger.getLogger(FormCadAssociado.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        } catch (javax.swing.UnsupportedLookAndFeelException ex) {            java.util.logging.Logger.getLogger(FormCadAssociado.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        }        //</editor-fold>        //</editor-fold>        /* Create and display the form */        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                new FormCadAssociado().setVisible(true);            }        });    }    // Variables declaration - do not modify                         private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel10;    private javax.swing.JLabel jLabel11;    private javax.swing.JLabel jLabel12;    private javax.swing.JLabel jLabel13;    private javax.swing.JLabel jLabel14;    private javax.swing.JLabel jLabel15;    private javax.swing.JLabel jLabel16;    private javax.swing.JLabel jLabel2;    private javax.swing.JLabel jLabel4;    private javax.swing.JLabel jLabel5;    private javax.swing.JLabel jLabel6;    private javax.swing.JLabel jLabel7;    private javax.swing.JLabel jLabel8;    private javax.swing.JLabel jLabel9;    private javax.swing.JPanel jPanel1;    private javax.swing.JButton jbtCadastrar;    private javax.swing.JButton jbtNovo;    private javax.swing.JButton jbtVoltar;    private javax.swing.JTextField jtfBairro;    private javax.swing.JTextField jtfCep;    private javax.swing.JTextField jtfCidade;    private javax.swing.JTextField jtfComplemento;    private javax.swing.JTextField jtfCpf;    private javax.swing.JTextField jtfDataNasc;    private javax.swing.JTextField jtfEstado;    private javax.swing.JTextField jtfNome;    private javax.swing.JTextField jtfNumero;    private javax.swing.JTextField jtfRg;    private javax.swing.JTextField jtfRua;    private javax.swing.JTextField jtfTelCel;    private javax.swing.JTextField jtfTelCom;    private javax.swing.JTextField jtfTelRes;    // End of variables declaration                   }

post-716238-0-10121400-1430187000_thumb.

 

Dai quando preencho cada campo e dou validar ele dá erros na hora da saída como por exemplo: java.awt.event....(letras vermelhas).

 

Gostaria de saber o que está errado em alguma das classes e o que precisaria ser alterado afim de funcionar o código? Ficaria muito grato pela ajuda!! Se alguém precisar do projeto completo para visualizar melhor também tenho o código fonte para disponibilizar. Grato, Victor

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Victorbg

Faça um debug, seguindo os passos dados no código, a fim de identificar o erro.

Analisar seu código todo leva bastante tempo.

Poste o erro completo, pois ele indica o motivo do ocorrido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na saída ele deu esse erro quando cliquei no Cadastro de Associado:

debug:Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet.at PersistenciaDAO.LoginDAO.<init>(LoginDAO.java:33)at View.FormLogin.<init>(FormLogin.java:37)at View.FormMuseu.jmLoginActionPerformed(FormMuseu.java:301)at View.FormMuseu.access$100(FormMuseu.java:18)at View.FormMuseu$2.actionPerformed(FormMuseu.java:112)at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)at javax.swing.AbstractButton.doClick(AbstractButton.java:376)at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)at java.awt.Component.processMouseEvent(Component.java:6525)at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)at java.awt.Component.processEvent(Component.java:6290)at java.awt.Container.processEvent(Container.java:2234)at java.awt.Component.dispatchEventImpl(Component.java:4881)at java.awt.Container.dispatchEventImpl(Container.java:2292)at java.awt.Component.dispatchEvent(Component.java:4703)at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)at java.awt.Container.dispatchEventImpl(Container.java:2278)at java.awt.Window.dispatchEventImpl(Window.java:2750)at java.awt.Component.dispatchEvent(Component.java:4703)at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)at java.awt.EventQueue.access$500(EventQueue.java:97)at java.awt.EventQueue$3.run(EventQueue.java:702)at java.awt.EventQueue$3.run(EventQueue.java:696)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)at java.awt.EventQueue$4.run(EventQueue.java:724)at java.awt.EventQueue$4.run(EventQueue.java:722)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Nesse caso como devo proceder? Estou perdido aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×