Ajuda para Inserir Dados no banco - MySQL + Netbeans

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:

[code]/*

  • 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.
      */
      //
      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();
      }//

    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

}
[/code]


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?

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.

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

[quote]Me parece que vc não tem conexao com banco de dados?
[/quote]
++

[quote]seria melhor isso acorrer no construtor.
[/quote]
Seria melhor ele deixar a lógica do BD Looonge da GUI, pq fica uma zona!

E repita comigo:
PreparedStatement,PreparedStatement ,PreparedStatement …

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

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.

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

Vc executa esse botão antes de tentar inserir?