Amigos! Por gentileza alguém pra me dar uma força?

4 respostas
CristianoTomas

Sou iniciante em Java, não estou conseguindo salvar as informações no BD ou seja fazer o INSERT. Estou fazendo algo de errado?

package CadastroDeClientes;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputMethodEvent;
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JTextField;





public class CadastroDeClientes extends JFrame implements ActionListener {
	
	
Font fonte = new Font("Arial",Font.BOLD,30);
Font fonte2 = new Font("Arial",Font.BOLD,12);
               JButton botao = new JButton("Novo");    
               JButton botao1 = new JButton("Alterar");    
               JButton botao2 = new JButton("Salvar");
               JButton botao3 = new JButton("Excluir");
               JButton botao4 = new JButton("Fechar");
               JButton botao5 = new JButton("Consultar");
        JMenuBar barra = new JMenuBar();
	    JMenu menu1 = new JMenu("Opções");	
	                             JMenuItem item1 = new JMenuItem("Fechar");
                    JLabel label0 = new JLabel("Cadastro de Clientes");
                    JLabel label1 = new JLabel("Versão da API 1,0");
                    JLabel label2 = new JLabel("Código:");
                    JLabel label3 = new JLabel("Nome:");
                    JLabel label4 = new JLabel("CPF:");
                    JLabel label5 = new JLabel("Sexo:");
                    JLabel label6 = new JLabel("Masculino");
                    JLabel label7 = new JLabel("Feminino");
                    JLabel label8 = new JLabel("Endereço:");
                    JLabel label9 = new JLabel("Cidade:");
                    JLabel label10 = new JLabel("Estado:");
                    JLabel label11 = new JLabel("CEP:");
                    JLabel label12 = new JLabel("Bairro:");
                    JLabel label13 = new JLabel("Tel:");
                    JLabel label14 = new JLabel("Email:");
    JTextField codigo = new JTextField(40);
    JTextField nome = new JTextField(40);
    JTextField cpf = new JTextField(40);
    JTextField endereco = new JTextField(40);
    JTextField cidade = new JTextField(40);
    JTextField cep = new JTextField(40);
    JTextField bairro = new JTextField(40);
    JTextField tel = new JTextField(40);
    JTextField email = new JTextField(40);
    
    JCheckBox masculino = new JCheckBox();
    JCheckBox feminino = new JCheckBox();
    JComboBox estado = new JComboBox();
    
    
    
    
	public void actionPerformed(ActionEvent e){			
		if(e.getSource()== botao4){
			System.exit(0);			
		}
		if(e.getSource()==botao2){
			
			JOptionPane.showMessageDialog(null,"Salvando...");
		}	
			
	
		
		
		}
	
	public void InserirDados(){
		
		try {
			// * Drive Conector MySQL.
			Class.forName("com.mysql.jdbc.Driver");
			 
			// * Conexão como BD.
			Connection con = DriverManager.getConnection("jdbc:mysql://localhost/BD INSERT", "root", "3306");
			 
			// * Objeto comdo SQL.
			java.sql.Statement stmt = con.createStatement();
			 
			// * Pega os dados informado no formulário,
			int CPF = Integer.parseInt(cpf.getText());
			String CODIGO = codigo.getText();
			String NOME   = nome.getText();			
			String ENDERECO = endereco.getText();
			int CEP = Integer.parseInt(cep.getText());
			String CIDADE = cidade.getText();
			String BAIRRO = bairro.getText();
			String TELEFONE = tel.getText();
			String EMAIL = email.getText();
			
			// * Insere os dados do formulário no BD.
			stmt.executeUpdate("insert into TabFicha (cpf, codigo, nome, endereco, cep, cidade, bairro, telefone, email) values ('"
			+ CPF
			+ "','"
			+ CODIGO
			+ "','"
			+ NOME
			+ "','"
			+ ENDERECO
			+ "','"
			+ CEP
			+ "','"
			+ CIDADE
			+ "','"
			+ BAIRRO
			+ "','"
			+ TELEFONE
			+ "','"
			+ EMAIL
			+ "')");
			JOptionPane.showMessageDialog(null, "Dados Salvos!");
			 
			
			 
			// * Fecha a conexão do o DB.
			con.close();
			 
			} catch (SQLException Erro) {
			JOptionPane.showMessageDialog(null,"Erro Cmdo SQL" + Erro.getMessage());
			 
			// Trata erros de conexão.
			} catch (ClassNotFoundException Erro) {
			 
			JOptionPane.showMessageDialog(null, "Driver não encontrado!");
			 
			}
		
	}
		
	
	
    
    public CadastroDeClientes(){  	
    	
    	
    	codigo.setBorder(BorderFactory.createLoweredBevelBorder());
    	nome.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	cpf.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	endereco.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	cidade.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	cep.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	bairro.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	tel.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	email.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	
    	estado.setBorder(BorderFactory.createLoweredBevelBorder()); 
    	
    	
    	
    	               botao.addActionListener(this);
    	               botao1.addActionListener(this);
    	               botao2.addActionListener(this);
    	               botao3.addActionListener(this);
    	               botao4.addActionListener(this);
    	               botao5.addActionListener(this);
   	item1.addActionListener(this);
         	codigo.addActionListener(this);
    	    nome.addActionListener(this);
    	    cpf.addActionListener(this);
    	    endereco.addActionListener(this);
    	    cidade.addActionListener(this);
    	    cep.addActionListener(this);
    	    bairro.addActionListener(this);
    	    tel.addActionListener(this);
    	    email.addActionListener(this);
    	                       estado.addActionListener(this);
    	
    	setLayout(null);    	
    	
    	botao.setBounds(300,60,70,25); 
    	botao1.setBounds(300,500,90,40);
    	botao2.setBounds(400,500,90,40);
    	botao3.setBounds(500,500,90,40);
    	botao4.setBounds(600,500,90,40);
    	botao5.setBounds(175,60,120,25);
    	
    	label0.setBounds(200,10,400,30);
    	label1.setBounds(500,400,300,300);
    	label2.setBounds(40,60,70,30);
    	label3.setBounds(40,120,70,30);
    	label4.setBounds(40,180,70,30);
    	label5.setBounds(320,180,70,30);    	
    	label6.setBounds(400,180,90,30);
    	label7.setBounds(520,180,70,30);
    	label8.setBounds(15,220,90,30);
    	label9.setBounds(40,280,70,30);
    	label10.setBounds(380,280,70,30);
    	label11.setBounds(530,280,70,30);
    	label12.setBounds(40,340,70,30);
    	label13.setBounds(550,340,70,30);
    	label14.setBounds(40,400,70,30);
    	
    	masculino.setBounds(380,180,70,25);
    	feminino.setBounds(500,180,70,25);
    	
    	estado.setBounds(440,280,70,25);
    	
    	codigo.setBounds(100,60,70,25);
    	nome.setBounds(100,120,400,25);
        cpf.setBounds(100,180,200,25);
        endereco.setBounds(100,220,500,25);
        cidade.setBounds(100,280,250,25);
        cep.setBounds(580,280,110,25);
        bairro.setBounds(100,340,400,25);
        tel.setBounds(600,340,150,25);
        email.setBounds(100,400,500,25);        
    
         label0.setFont(fonte);
         codigo.setFont(fonte2);
         nome.setFont(fonte2);
         cpf.setFont(fonte2);
         endereco.setFont(fonte2);
         cidade.setFont(fonte2);
         cep.setFont(fonte2);
         bairro.setFont(fonte2);
         tel.setFont(fonte2);
         email.setFont(fonte2);
         label6.setFont(fonte2);
         label7.setFont(fonte2);
         
        
    	add(botao);
    	add(botao1);
    	add(botao2);
    	add(botao3);
    	add(botao4);
    	add(botao5);
    	
    	add(label0);
    	add(label1);
    	add(label2);    	
    	add(label3);
    	add(label4);
    	add(label5);
    	add(label6);
    	add(label7);
    	add(label8);
    	add(label9);
    	add(label10);
    	add(label11);
    	add(label12);
    	add(label13);
    	add(label14);
    	
    	
    	add(codigo);
    	add(nome);
    	add(cpf);
    	add(endereco);
    	add(cidade);
    	add(cep);
    	add(bairro);
    	add(tel);
    	add(email);
    	
    	add(feminino);
    	add(masculino);
    	
    	add(estado); 
    	estado.addItem("SP");
    	estado.addItem("RJ");
    	estado.addItem("PR");
    	estado.addItem("DF");
    	estado.addItem("PE");
    	
    	
    	setJMenuBar(barra);
    	barra.add(menu1);
    	menu1.add(item1);  	
    	
    	

		setTitle("Cadastro de Clientes");
		setSize(850,650);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
		setLocationRelativeTo(null);
    	
    }
	public static void main(String args[]){
		 new CadastroDeClientes();
		 
	}		 

}

Desde de já fico grato.

4 Respostas

ViniGodoy

E não dá nenhuma mensagem de erro?

O ideal seria você usar também PreparedStatements, não ficar concatenando coisas na sua consulta.

L

Cara só ta faltando você chamar o método

InserirDados();

dentro do listener do ActionPerformed(do botão de “salvar”), você escreveu todo o método mas não chama ele em lugar algum do código.

Dicas:

ViniGodoy:
E não dá nenhuma mensagem de erro?

O ideal seria você usar também PreparedStatements, não ficar concatenando coisas na sua consulta.

Isso evita o famoso SQLInjection que compromete a segurança da sua aplicação e do seu banco de dados.

mais uma dica tente dar nomes as suas variáveis que façam menção ou se associem a ação ou função do objeto, porque fica bem mais fácil na hora de refatorar e de prestar manutenção ao seu código.

CristianoTomas

ViniGodoy:
E não dá nenhuma mensagem de erro?

O ideal seria você usar também PreparedStatements, não ficar concatenando coisas na sua consulta.

Muito obrigado,

Vou fazer uma revisão nos quesitos que mencionou,importantissimo! “PreparedStatements”.

Obs: Não da nenhuma mensagem de erro. Mas um outro Amigo citou,não estou chamando o Método “InserirDados();” no actionPerformed(ActionEvent e).

CristianoTomas

lucas93lange:
Cara só ta faltando você chamar o método

InserirDados();

dentro do listener do ActionPerformed(do botão de “salvar”), você escreveu todo o método mas não chama ele em lugar algum do código.

Dicas:

ViniGodoy:
E não dá nenhuma mensagem de erro?

O ideal seria você usar também PreparedStatements, não ficar concatenando coisas na sua consulta.

Isso evita o famoso SQLInjection que compromete a segurança da sua aplicação e do seu banco de dados.

mais uma dica tente dar nomes as suas variáveis que façam menção ou se associem a ação ou função do objeto, porque fica bem mais fácil na hora de refatorar e de prestar manutenção ao seu código.

lucas93lange,

Obrigado mesmos, vou chamar o método e ver o resultado.

Criado 19 de fevereiro de 2015
Ultima resposta 19 de fev. de 2015
Respostas 4
Participantes 3