Botões

9 respostas
G
Boa Noite..! Estou com uma dificuldade de encontrar um erro na sintaxe do meu botão cadastrar... Vocês podem me ajudar?
private void cmdCadActionPerformed(java.awt.event.ActionEvent evt) {                                       
if (evt.getSource()==cmdCad)
   	  //inserir
   {
   	  try
   	   {
        String SQL = "INSERT INTO ALUNO (COD,NOME,ENDE," + 
           "BAIRRO,CEP,RG,DATA, TELEFONE, EMAIL) Values ('"+
   	    txtCod.getText()+"','"+
            txtTelefone.getText()+"','"+
            txtDataNascimento.getText()+"','"+
   	    txtNome.getText()+"','"+
   	    txtEnd.getText()+"','"+
   	    txtBairro.getText()+"','"+
   	    txtCep.getText()+"','"+
   	    txtRg.getText()+"','"+
   	    txtEmail.getText()+"')"; 
        
   	    Conexao.executeUpdate(SQL);
       JOptionPane.showMessageDialog(null,"Gravado com sucesso");
            limpaCampos();
        }
      catch(SQLException e)
      	{
      	 if (e.getMessage().equals("General error")) 
      	 	JOptionPane.showMessageDialog(null,"Filme já Cadastrado");	
      	 else	
      	    JOptionPane.showMessageDialog(null,"Data Inválida");	
        }
        
    }

Obrigada desde já

9 Respostas

G

esquecii… está dando erro na linha 23

aajjbb

pode postar todo o codigo?

G
package viwer;

import java.sql.SQLException;
import javax.swing.JOptionPane;
import utilidades.Conexao;

/**
 *
 * @author Mega family
 */
public class FrmAluno extends javax.swing.JFrame {

    /** Creates new form FrmAluno */
    public FrmAluno() {
        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")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        lblCod = new javax.swing.JLabel();
        lblNome = new javax.swing.JLabel();
        lblEnd = new javax.swing.JLabel();
        lblBairro = new javax.swing.JLabel();
        lblCep = new javax.swing.JLabel();
        lblRg = new javax.swing.JLabel();
        lblTel = new javax.swing.JLabel();
        lblDataNascimento = new javax.swing.JLabel();
        lblEmail = new javax.swing.JLabel();
        txtCod = new javax.swing.JTextField();
        txtNome = new javax.swing.JTextField();
        txtEnd = new javax.swing.JTextField();
        txtBairro = new javax.swing.JTextField();
        txtEmail = new javax.swing.JTextField();
        cmdNovo = new javax.swing.JButton();
        cmdCad = new javax.swing.JButton();
        cmdExcluir = new javax.swing.JButton();
        cmdAlterar = new javax.swing.JButton();
        cmdSair = new javax.swing.JButton();
        cmdConsultar = new javax.swing.JButton();
        txtDataNascimento = new javax.swing.JFormattedTextField();
        txtRg = new javax.swing.JFormattedTextField();
        txtTelefone = new javax.swing.JFormattedTextField();
        txtCep = new javax.swing.JFormattedTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMaximizedBounds(new java.awt.Rectangle(400, 400, 0, 0));
        getContentPane().setLayout(null);

        lblCod.setText("Código");
        getContentPane().add(lblCod);
        lblCod.setBounds(10, 10, 100, 14);

        lblNome.setText("Nome");
        getContentPane().add(lblNome);
        lblNome.setBounds(120, 10, 100, 14);

        lblEnd.setText("Endereço");
        getContentPane().add(lblEnd);
        lblEnd.setBounds(10, 60, 130, 14);

        lblBairro.setText("Bairro");
        getContentPane().add(lblBairro);
        lblBairro.setBounds(10, 110, 100, 14);

        lblCep.setText("CEP");
        getContentPane().add(lblCep);
        lblCep.setBounds(170, 110, 90, 14);

        lblRg.setText("RG");
        getContentPane().add(lblRg);
        lblRg.setBounds(10, 160, 80, 14);

        lblTel.setText("Telefone");
        getContentPane().add(lblTel);
        lblTel.setBounds(10, 210, 120, 14);

        lblDataNascimento.setText("Data de Nascimento");
        getContentPane().add(lblDataNascimento);
        lblDataNascimento.setBounds(160, 160, 170, 14);

        lblEmail.setText("Email");
        getContentPane().add(lblEmail);
        lblEmail.setBounds(160, 210, 90, 14);

        txtCod.setEditable(false);
        getContentPane().add(txtCod);
        txtCod.setBounds(10, 30, 70, 20);

        txtNome.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtNomeActionPerformed(evt);
            }
        });
        getContentPane().add(txtNome);
        txtNome.setBounds(120, 30, 270, 20);
        getContentPane().add(txtEnd);
        txtEnd.setBounds(10, 80, 300, 20);
        getContentPane().add(txtBairro);
        txtBairro.setBounds(10, 130, 130, 20);
        getContentPane().add(txtEmail);
        txtEmail.setBounds(160, 230, 230, 20);

        cmdNovo.setText("Novo");
        cmdNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmdNovoActionPerformed(evt);
            }
        });
        getContentPane().add(cmdNovo);
        cmdNovo.setBounds(10, 280, 80, 23);

        cmdCad.setText("Cadastrar");
        cmdCad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmdCadActionPerformed(evt);
            }
        });
        getContentPane().add(cmdCad);
        cmdCad.setBounds(110, 280, 80, 23);

        cmdExcluir.setText("Excluir");
        getContentPane().add(cmdExcluir);
        cmdExcluir.setBounds(210, 280, 80, 23);

        cmdAlterar.setText("Alterar");
        getContentPane().add(cmdAlterar);
        cmdAlterar.setBounds(310, 280, 80, 23);

        cmdSair.setText("Sair");
        cmdSair.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmdSairActionPerformed(evt);
            }
        });
        getContentPane().add(cmdSair);
        cmdSair.setBounds(310, 330, 80, 23);

        cmdConsultar.setText("Consultar");
        getContentPane().add(cmdConsultar);
        cmdConsultar.setBounds(210, 330, 80, 23);

        txtDataNascimento.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter(java.text.DateFormat.getDateInstance(java.text.DateFormat.MEDIUM))));
        getContentPane().add(txtDataNascimento);
        txtDataNascimento.setBounds(160, 180, 110, 20);

        try {
            txtRg.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##.###.###-#")));
        } catch (java.text.ParseException ex) {
            ex.printStackTrace();
        }
        getContentPane().add(txtRg);
        txtRg.setBounds(10, 180, 130, 20);
        getContentPane().add(txtTelefone);
        txtTelefone.setBounds(10, 230, 130, 20);

        try {
            txtCep.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("#####-###")));
        } catch (java.text.ParseException ex) {
            ex.printStackTrace();
        }
        getContentPane().add(txtCep);
        txtCep.setBounds(170, 130, 160, 20);

        pack();
    }// </editor-fold>

    private void txtNomeActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
    }                                       

    private void cmdSairActionPerformed(java.awt.event.ActionEvent evt) {                                        
            dispose();        // TODO add your handling code here:
    }                                       

    private void cmdNovoActionPerformed(java.awt.event.ActionEvent evt) {                                        
        limpaCampos();                    // TODO add your handling code here:
    }                                       

    private void cmdCadActionPerformed(java.awt.event.ActionEvent evt) {                                       
if (evt.getSource()==cmdCad)
   	  //inserir
   {
   	  try
   	   {
        String SQL = "INSERT INTO ALUNO (COD,NOME,ENDE," + 
           "BAIRRO,CEP,RG,DATA, TELEFONE, EMAIL) Values ('"+
   	    txtCod.getText()+"','"+
            txtTelefone.getText()+"','"+
            txtDataNascimento.getText()+"','"+
   	    txtNome.getText()+"','"+
   	    txtEnd.getText()+"','"+
   	    txtBairro.getText()+"','"+
   	    txtCep.getText()+"','"+
   	    txtRg.getText()+"','"+
   	    txtEmail.getText()+"')"; 
        
   	    Conexao.executeUpdate(SQL);
       JOptionPane.showMessageDialog(null,"Gravado com sucesso");
            limpaCampos();
        }
      catch(SQLException e)
      	{
      	 if (e.getMessage().equals("General error")) 
      	 	JOptionPane.showMessageDialog(null,"Filme já Cadastrado");	
      	 else	
      	    JOptionPane.showMessageDialog(null,"Data Inválida");	
        }
        
    }                                      

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FrmAluno().setVisible(true);
            }
        });
    }

essa é uma parte... estou fazendo no net beans

Anime

Oi,

Para saber qual é o erro :
catch (Exception erro)
          {
              JOptionPane.showMessageDialog(null,"Erro,dados não foram gravados"+erro);// retornara o erro
          }

ou

catch(SQLException erro) {
    JOptionPane.showMessageDialog(null,"Erro,ao listar");
    erro.printStackTrace(); //isso vai imprimir a pilha de exceções no console, indicando, dentre outras         informacoes, a linha que deu problema.
}
G

catch(SQLException e) { if (e.getMessage().equals("General error")) JOptionPane.showMessageDialog(null,"Filme já Cadastrado"); else JOptionPane.showMessageDialog(null,"Data Inválida"); }
aqui que da o erro

Anime

gabikiwii:
catch(SQLException e) { if (e.getMessage().equals("General error")) JOptionPane.showMessageDialog(null,"Filme já Cadastrado"); else JOptionPane.showMessageDialog(null,"Data Inválida"); }
aqui que da o erro

Você tentou rodar com o código que eu passei?

Anime

Vou deixar um exemplo de como usar try catch,parece que vc quer validar os dados no catch,eles são validados no try.

{
    int rm=-1;
    if(tfRm.getText().length()==0)//o rm foi digitado?
    {
        JOptionPane.showMessageDialog(null,"Atenção:Digite o Rm");
        tfRm.requestFocus();
    }    //senão foi digitado
    else
    {
        try
        {
            rm=Integer.parseInt(tfRm.getText());
            if(rm<0)
            {
                JOptionPane.showMessageDialog(null,"Atenção:digite um valor numerico inteiro positivo");
                tfRm.requestFocus();
            }
        }
        catch(NumberFormatException exc)
        {
            JOptionPane.showMessageDialog(null,"Atenção:digite um valor numerico inteiro");
            tfRm.requestFocus();
        }
    }    
    return rm;
}
yoshikichi

Posta a exception.

ViniGodoy

Use o PreparedStatement pra:

  1. Evitar ter que concatenar Strings desse jeito;
  2. Evitar ter que adicionar as aspas simples para Strings;
  3. Não errar o formato de datas do banco;
  4. Não dar erro caso seu usuário informe valores com aspas simples;
  5. Nâo correr o risco do ataque de dependency injection;
  6. Deixar o seu código mais legível e profissional.
Criado 3 de janeiro de 2011
Ultima resposta 3 de jan. de 2011
Respostas 9
Participantes 5