Ajuda para Inserir Dados no banco - MySQL + Netbeans

8 respostas
I

Pessoal não estou conseguindo inserir os dados no banco alguém poderia me dar uma ajuda. e também como eu faço pra usar um JcheckBox pois no cadastro precisa dizer se é Masculino ou Feminino.

Meu código:

/*
 * Cadastro.java
 *
 * Created on 10 de Julho de 2007, 14:14
 */

package cad_clientes;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;

/**
 *
 * @author  Administrador
 */
public class Cadastro extends javax.swing.JFrame {
    
    Statement stmt;
    ResultSet rs;
    Connection con;
    
    /** Creates new form Cadastro */
    public Cadastro() {
        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.
     */
    // <editor-fold defaultstate="collapsed" desc=" Código Gerado ">                          
    private void initComponents() {
        JlblNome = new javax.swing.JLabel();
        JlblEndereco = new javax.swing.JLabel();
        JlblBairro = new javax.swing.JLabel();
        JlblCidade = new javax.swing.JLabel();
        JlblEstado = new javax.swing.JLabel();
        JlblTelefone = new javax.swing.JLabel();
        JlbleMail = new javax.swing.JLabel();
        JlblSexo = new javax.swing.JLabel();
        txtNome = new javax.swing.JTextField();
        txtEndereco = new javax.swing.JTextField();
        txtBairro = new javax.swing.JTextField();
        txtCidade = new javax.swing.JTextField();
        txtEstado = new javax.swing.JTextField();
        txtTelefone = new javax.swing.JTextField();
        txteMail = new javax.swing.JTextField();
        JCheckMasculino = new javax.swing.JCheckBox();
        jCheckFeminino = new javax.swing.JCheckBox();
        JbtnSalvar = new javax.swing.JButton();
        JbtnSair = new javax.swing.JButton();
        JPanelConectar = new javax.swing.JPanel();
        JbtnConectar = new javax.swing.JButton();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenuArquivo = new javax.swing.JMenu();
        jMenuSair = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Cadastro de Clientes");
        JlblNome.setText("Nome:");

        JlblEndereco.setText("Endere\u00e7o:");

        JlblBairro.setText("Bairro:");

        JlblCidade.setText("Cidade:");

        JlblEstado.setText("Estado:");

        JlblTelefone.setText("Telefone:");

        JlbleMail.setText("eMail:");

        JlblSexo.setText("Sexo:");

        JCheckMasculino.setText("Masculino");
        JCheckMasculino.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        JCheckMasculino.setMargin(new java.awt.Insets(0, 0, 0, 0));

        jCheckFeminino.setText("Feminino");
        jCheckFeminino.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        jCheckFeminino.setMargin(new java.awt.Insets(0, 0, 0, 0));

        JbtnSalvar.setText("Salvar");
        JbtnSalvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JbtnSalvarActionPerformed(evt);
            }
        });

        JbtnSair.setText("Sair");

        JPanelConectar.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
        JbtnConectar.setText("Conectar");
        JbtnConectar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JbtnConectarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JPanelConectarLayout = new javax.swing.GroupLayout(JPanelConectar);
        JPanelConectar.setLayout(JPanelConectarLayout);
        JPanelConectarLayout.setHorizontalGroup(
            JPanelConectarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JPanelConectarLayout.createSequentialGroup()
                .addGap(143, 143, 143)
                .addComponent(JbtnConectar, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(151, Short.MAX_VALUE))
        );
        JPanelConectarLayout.setVerticalGroup(
            JPanelConectarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JPanelConectarLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JbtnConectar, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        jMenuArquivo.setText("Arquivo");
        jMenuBar1.add(jMenuArquivo);

        jMenuSair.setText("Sair");
        jMenuBar1.add(jMenuSair);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JPanelConectar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(JlbleMail)
                            .addComponent(JlblTelefone)
                            .addComponent(JlblBairro)
                            .addComponent(JlblNome)
                            .addComponent(JlblEndereco)
                            .addComponent(JlblCidade)
                            .addComponent(JlblEstado)
                            .addComponent(JlblSexo))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(JCheckMasculino)
                                .addGap(43, 43, 43)
                                .addComponent(jCheckFeminino)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 175, Short.MAX_VALUE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(JbtnSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 188, Short.MAX_VALUE)
                                .addComponent(JbtnSair, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(txteMail, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
                            .addComponent(txtTelefone, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
                            .addComponent(txtEstado, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
                            .addComponent(txtCidade, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
                            .addComponent(txtBairro, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
                            .addComponent(txtEndereco, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
                            .addComponent(txtNome, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE))))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JPanelConectar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 16, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JlblNome)
                    .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JlblEndereco)
                    .addComponent(txtEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JlblBairro)
                    .addComponent(txtBairro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JlblCidade)
                    .addComponent(txtCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JlblEstado)
                    .addComponent(txtEstado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JlblTelefone)
                    .addComponent(txtTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JlbleMail)
                    .addComponent(txteMail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckFeminino)
                    .addComponent(JlblSexo)
                    .addComponent(JCheckMasculino))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JbtnSalvar)
                    .addComponent(JbtnSair))
                .addContainerGap())
        );
        pack();
    }// </editor-fold>                        

    private void JbtnConectarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        String strCnn, strUser, strServer, strDB, strPass;
        strUser = "root";
        strPass = "";
        strServer = "localhost";
        strDB = txtBanco.getText();
        strCnn = "jdbc:mysql://" + strServer + ":3307/" + strDB;
        try {
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e) {
            JOptionPane.showMessageDialog(null,"Nao foi possivel carregar o driver do MySQL");
            return;
        }
        try {
            com.mysql.jdbc.Connection con = (com.mysql.jdbc.Connection) DriverManager.getConnection("jdbc:mysql://localhost/cadastro?user=root&password=");
        }
        catch(SQLException sqle) {
            JOptionPane.showMessageDialog(null,"Nao foi possivel conectar ao banco");
            return;
        }
        JOptionPane.showMessageDialog(null,"Conexao efetuada com sucesso");
    }                                            

    private void JbtnSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                           
             String strSQL = new String("");
             strSQL = "INSERT INTO dados VALUES(" +
                      this.txtNome.getText() + ",'" +
                      this.txtEndereco.getText() + "','" +
                      this.txtBairro.getText() + "','" +
                      this.txtCidade.getText() + "','" +
                      this.txtEstado.getText() + "','" +
                      this.txtTelefone.getText() + "','" +
                      this.txteMail.getText() + "')";
             try {
                stmt = con.createStatement();
                stmt.execute(strSQL);
             }
             catch(SQLException sqlei) {
                JOptionPane.showMessageDialog(null,"Nao foi possivel incluir registro");
                return;
             }
             JOptionPane.showMessageDialog(null,"Registro OK");
             this.txtNome.setText("");
             this.txtEndereco.setText("");
             this.txtBairro.setText("");
             this.txtCidade.setText("");
             this.txtEstado.setText("");
             this.txtTelefone.setText("");
             this.txteMail.setText("");
             this.txtNome.requestFocus();        
    }                                          
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Cadastro().setVisible(true);
            }
        });
    }
    
    // Declaração de variáveis - não modifique                     
    private javax.swing.JCheckBox JCheckMasculino;
    private javax.swing.JPanel JPanelConectar;
    private javax.swing.JButton JbtnConectar;
    private javax.swing.JButton JbtnSair;
    private javax.swing.JButton JbtnSalvar;
    private javax.swing.JLabel JlblBairro;
    private javax.swing.JLabel JlblCidade;
    private javax.swing.JLabel JlblEndereco;
    private javax.swing.JLabel JlblEstado;
    private javax.swing.JLabel JlblNome;
    private javax.swing.JLabel JlblSexo;
    private javax.swing.JLabel JlblTelefone;
    private javax.swing.JLabel JlbleMail;
    private javax.swing.JCheckBox jCheckFeminino;
    private javax.swing.JMenu jMenuArquivo;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenu jMenuSair;
    private javax.swing.JTextField txtBairro;
    private javax.swing.JTextField txtCidade;
    private javax.swing.JTextField txtEndereco;
    private javax.swing.JTextField txtEstado;
    private javax.swing.JTextField txtNome;
    private javax.swing.JTextField txtTelefone;
    private javax.swing.JTextField txteMail;
    // Fim da declaração de variáveis                   
    
}

8 Respostas

arochafademac

Desculpa...mas nao entendi sua duvida....qt a usar um jcheckbox basta verificar se ele esta ativo
[code]
if(jCheckbox1.isSelected){
...
}

agora qt a insersao dos dados no bd qual o erro q ta acusando?

I

Olha está dando estes erros:

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at cad_clientes.Cadastro.JbtnSalvarActionPerformed(Cadastro.java:308)

at cad_clientes.Cadastro.access$000(Cadastro.java:21)

at cad_clientes.Cadastro$1.actionPerformed(Cadastro.java:102)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Você pode me diser se esta forma como eu estou inserindo os dados está certa ou não.

andredeividi

Me parece que vc não tem conexao com banco de dados?

vc colocou o metodo de conectar dentro JbtnConectarActionPerformed

seria melhor isso acorrer no construtor.

abraço

Ironlynx

Me parece que vc não tem conexao com banco de dados?

++

seria melhor isso acorrer no construtor.

Seria melhor ele deixar a lógica do BD Looonge da GUI, pq fica uma zona!

E repita comigo:
PreparedStatement,PreparedStatement ,PreparedStatement …

andredeividi

E para a questão checkBox

para seu campo do tipo boolean da base passe com nosso amigo
arochafademac falou

jCheckbox1.isSelected();

strSQL = "INSERT INTO dados VALUES(" + this.txtNome.getText() + ",'" + this.txtEndereco.getText() + "','" + this.txtBairro.getText() + "','" + this.txtCidade.getText() + "','" + this.txtEstado.getText() + "','" + this.txtTelefone.getText() + "','" + [b] this.jCheckbox1.isSelected() + "','" +[/b] this.txteMail.getText() + "')";

Ironlynx vc tem toda a razão.

Abraço

I

olha o código que eu eu coloquei no botã conectar:

private void JbtnConectarActionPerformed(java.awt.event.ActionEvent evt) { String strCnn, strUser, strServer, strDB, strPass; strUser = "root"; strPass = ""; strServer = "localhost"; strDB = txtBanco.getText(); strCnn = "jdbc:mysql://" + strServer + ":3307/" + strDB; try { Class.forName("com.mysql.jdbc.Driver"); } catch(Exception e) { JOptionPane.showMessageDialog(null,"Nao foi possivel carregar o driver do MySQL"); return; } try { com.mysql.jdbc.Connection con = (com.mysql.jdbc.Connection) DriverManager.getConnection("jdbc:mysql://localhost/cadastro?user=root&password="); } catch(SQLException sqle) { JOptionPane.showMessageDialog(null,"Nao foi possivel conectar ao banco"); return; } JOptionPane.showMessageDialog(null,"Conexao efetuada com sucesso"); }

Você acha que ta certo o meu código de inserir no banco ou tá errado.

I

Mas eu preciso usar GUI é um trabalho. meu professor exige que seja em GUI, se não eu fazia em dos mesmo.

andredeividi

Vc executa esse botão antes de tentar inserir?

Criado 10 de julho de 2007
Ultima resposta 10 de jul. de 2007
Respostas 8
Participantes 4