Como fazer para os dados da JComboBox e JRadioButton sejam colocados no Banco de Dados?

4 respostas
java
R

Olá pessoal? … eu to com um duvida… como faço para que os dados de uma JComboBox e JRadioButton preenchidos num cadastro sejam enviados no banco de Dados?

4 Respostas

Alyesson

Tem o código pra enviar para dar uma olhada?

Porque existe uma forma com preparedStatement pra fazer isso, porém precisaria ver seu código…

R
//Funciona, erro esta no rg e cpf

import javax.swing.<em>;

import java.awt.</em>;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.text.ParseException;

import javax.swing.text.MaskFormatter;

public class Tela_Cadastro_Client extends JFrame implements ActionListener
{

/**
 * 
 */
private static final long serialVersionUID = 1L;

	//Vari�veis para os bot�es
	private JButton bt_confirmar;
	private JButton bt_limpar;
	private JButton bt_valid;
	private JButton bt_cancelar;
	
	//Para criar os radios botoes
	private JRadioButton sim;
	private JRadioButton nao;	
	private ButtonGroup Bg;
	
	//vari�veis simples
	private float cod, nome, data, cpf, rg, sexo, endereco, numero, estado, cidade, cep, bairro, telefone, celular, email, senha, confirme_senha;
	private int resposta;
	
	//vari�veis tela
	private JTextField c_nome, c_endereco,c_num, c_bairro, c_email;
	private JLabel limage, l_titulo, l_cod, l_nome, l_data, l_cpf, l_rg, l_sexo, l_endereco,l_num,l_cidade, l_estado, l_cep, l_bairro, l_telefone, l_celular, l_email, l_senha, l_confirme, l_val;
	private JPasswordField senha_char, senha_confirme;
	private JFormattedTextField	c_cod, c_data, c_cpf, c_rg, c_cep, c_telefone, c_celular;
	
	//criacao do combo box
	String[] estadoStrings = {"", "Nenhum", " Acre ", " Alagoas ", " Amapá ", " Amazonas ", " Bahia ", " Ceará ", " Distrito Federal ", 
			" Espírito Santo ", " Goiás ", " Maranhão ", " Mato Grosso ", " Mato Grosso do Sul ", " Minas Gerais ", " Pará ", " Paraíba ",
			" Paraná ", " Pernambuco ", " Piauí ", " Rio Grande do Norte  ", " Rio Grande do Sul ", " Rio de Janeiro ", " Rondônia ", " Roraima ", 
			" São Paulo ", " Santa Catarina ", " Sergipe ", " Tocantins "};
	JComboBox cmbEstadoList = new JComboBox(estadoStrings);
	String[] cidadeStrings = {"", "Nenhum","SP", "SA"};
	JComboBox cmbCidadeList = new JComboBox(cidadeStrings);
	String[] telefoneStrings = {"","", "11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22", "24", "27", "28","31", "32", "33", "34", "35", "37", "38", "41", "42", "43", "44",
			"45", "46", "47", "48", "49", "51", "52", "53", "54", "55", "61", "62", "63", "64", "65", "66", "67", "68", "69", "71", "73", "74", "75", "77", "79", "81", "82", "83", "84",
			 "85", "86", "87", "88", "89", "91", "92", "93", "94", "95", "96", "97", "98", "99"};
	JComboBox cmbTelefoneList = new JComboBox(telefoneStrings);
	String[] celularStrings = {"","", "11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22", "24", "27", "28","31", "32", "33", "34", "35", "37", "38", "41", "42", "43", "44",
			"45", "46", "47", "48", "49", "51", "52", "53", "54", "55", "61", "62", "63", "64", "65", "66", "67", "68", "69", "71", "73", "74", "75", "77", "79", "81", "82", "83", "84",
			 "85", "86", "87", "88", "89", "91", "92", "93", "94", "95", "96", "97", "98", "99"};
	JComboBox cmbCelularList = new JComboBox(celularStrings);
	
	
	//criacao do menu
	
	
	InputMap bla = this.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);

	public Tela_Cadastro_Client () throws ParseException
	{
		setTitle("Cadastro de Clientes");
		setBounds(250,20,950,680);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setResizable(false);
		//getContentPane().setBackground(new Color(190,194,233));
		//getContentPane().setBackground(Color.RED);
		setLayout(null);
	
		
		//iniciar as vari�veis num�ricas
		cod = 0;
		nome = 0;
		data = 0;
		cpf = 0;
		sexo = 0;
		endereco = 0;
		numero = 0;
		cidade = 0;
		estado = 0;
		cep = 0;
		bairro = 0;
		telefone = 0;
		celular = 0;
		email = 0;
		senha = 0;
		confirme_senha = 0;
		
		
		
		MaskFormatter codigo = null;
		MaskFormatter data = null;
		MaskFormatter cpf = null;
		MaskFormatter rg = null;
		MaskFormatter cep = null;
		MaskFormatter telefone = null;
		MaskFormatter celular = null;
		
		codigo = new MaskFormatter("###### - ##");
		data = new MaskFormatter("##/##/####");
	    cpf = new MaskFormatter("### . ### . ### - ##");
	    rg = new MaskFormatter("### . ### . ### - ##");
	    cep = new MaskFormatter("##### - ###");
	    telefone = new MaskFormatter("#### - ####");
	    celular = new MaskFormatter("##### - ####");
			
			
		//colocando a��o para os botoes (salvar)
	    bt_confirmar = new JButton();
		bt_confirmar.setText("Confirmar");
		bt_confirmar.setBounds(800,550,100,30);
		bt_confirmar.setBackground(new Color(134,142,215));
		bt_confirmar.setForeground(Color.white);
	    this.add(bt_confirmar);
	 
		 
		
		//colocando  para os botoes (limpar)
	    bt_limpar = new JButton();
		bt_limpar.setText("Limpar");
	    bt_limpar.setBounds(680,550,100,30);
		bt_limpar.setBackground(new Color(134,142,215));
		bt_limpar.setForeground(Color.white);
		this.add(bt_limpar);
			
			//colocando para os botoes (validar)
		bt_valid = new JButton();
		bt_valid.setText("Validar Senha");
		bt_valid.setBounds(410,550,130,30);
		bt_valid.setBackground(new Color(134,142,215));
		bt_valid.setForeground(Color.white);
	    this.add(bt_valid);
			
		//colocando  p os botoes (cancelar)
	    bt_cancelar = new JButton();
		bt_cancelar.setText("Cancelar");
		bt_cancelar.setBounds(560,550,100,30);
		bt_cancelar.setBackground(new Color(134,142,215));
		bt_cancelar.setForeground(Color.white);
		bt_cancelar.setBackground(new Color(134,142,215));
		bt_cancelar.setForeground(Color.white);
		 this.add(bt_cancelar);
			 
			 
			 
		// textfield	
			c_cod = new JFormattedTextField(codigo);
			c_cod.setBounds(90,120,100,20);
			this.add(c_cod);
			
			c_nome = new JTextField();
			c_nome.setBounds(90,165,350,20);
			this.add(c_nome);
			
			c_data = new JFormattedTextField(data);
			c_data.setBounds(150,210,70,20);
			this.add(c_data);
			
			c_cpf = new JFormattedTextField(cpf);
			c_cpf.setBounds(90,255,200,20);
			this.add(c_cpf);
			
			c_rg = new JFormattedTextField(rg);
			c_rg.setBounds(360,255,200,20);
			this.add(c_rg);
			
			c_endereco = new JTextField();
			c_endereco.setBounds(90,300,380,20);
			this.add(c_endereco);
			
			c_num = new JTextField();
			c_num.setBounds(530,300,35,20);
			this.add(c_num);
			
			c_bairro = new JTextField();
			c_bairro.setBounds(90,390,250,20);
			this.add(c_bairro);
			
			c_cep = new JFormattedTextField(cep);
			c_cep.setBounds(430,390,150,20);
			this.add(c_cep);
			
			c_telefone = new JFormattedTextField(telefone);
			c_telefone.setBounds(150,435,150,20);
			this.add(c_telefone);
			
			c_celular = new JFormattedTextField(celular);
			c_celular.setBounds(465,435,150,20);
			this.add(c_celular);
			
			c_email = new JTextField();
			c_email.setBounds(90,480,250,20);
			this.add(c_email);
			
			senha_char = new JPasswordField(10);
			senha_char.setBounds(90,525,150,20);
			this.add(senha_char);
			
			senha_confirme = new JPasswordField(10);
			senha_confirme.setBounds(160,570,150,20);
			this.add(senha_confirme);

		
			//labels
			Font fonte = new Font("arial", Font.BOLD, 30);
			l_titulo = new JLabel("Cadastro de Clientes");
			l_titulo.setFont(fonte);
			l_titulo.setBounds(340,20,450,50);
			this.add(l_titulo);
			
			
			l_cod = new JLabel("Código: ");
			l_cod.setBounds(25,120,100,20);
			this.add(l_cod);
			
			l_nome = new JLabel("Nome: ");
			l_nome.setBounds(25,165,200,20);
			this.add(l_nome);
			
			l_data = new JLabel("Data de Nascimento: ");
			l_data.setBounds(25,210,200,20);
			this.add(l_data);
			
			l_sexo = new JLabel("Sexo: ");
			l_sexo.setBounds(260,210,120,20);
			this.add(l_sexo);
			
			l_cpf = new JLabel("CPF: ");
			l_cpf.setBounds(25,255,200,20);
			this.add(l_cpf);
			
			l_rg = new JLabel("RG: ");
			l_rg.setBounds(320,255,200,20);
			this.add(l_rg);
			
			l_endereco = new JLabel("Endereço: ");
			l_endereco.setBounds(25,300,100,20);
			this.add(l_endereco);
			
			l_num = new JLabel("Nº:");
			l_num.setBounds(500,300,35,20);
			this.add(l_num);
			
			l_estado = new JLabel("Estado: ");
			l_estado.setBounds(25,345,100,20);
			this.add(l_estado);	
			
			l_cidade = new JLabel("Cidade: ");
			l_cidade.setBounds(280,345,100,20);
			this.add(l_cidade);
			
			l_bairro = new JLabel("Bairro: ");
			l_bairro.setBounds(25,390,100,20);
			this.add(l_bairro);	
			
			l_cep = new JLabel("CEP: ");
			l_cep.setBounds(380,390,100,20);
			this.add(l_cep);
			
			l_telefone = new JLabel("Telefone: ");
			l_telefone.setBounds(25,435,100,20);
			this.add(l_telefone);
			
			l_celular = new JLabel("Celular: ");
			l_celular.setBounds(340,435,100,20);
			this.add(l_celular);
			
			l_email = new JLabel("Email: ");
			l_email.setBounds(25,480,100,20);
			this.add(l_email);
			
			l_senha = new JLabel("Senha: ");
			l_senha.setBounds(25,525,100,20);
			this.add(l_senha);
			
			l_confirme = new JLabel("Confirme sua Senha: ");
			l_confirme.setBounds(25,570,200,20);
			this.add(l_confirme);
			
			limage = new JLabel();
			Image img = new ImageIcon("Imagens/logo_projeto.png").getImage();
			limage.setIcon(new ImageIcon(img));
			limage.setBounds(580,100,350,220);
			this.add(limage);
			
		
			//criacao dos combo boxes
			cmbEstadoList.setSelectedIndex(1);
			cmbEstadoList.addActionListener(this);
			cmbEstadoList.setBounds(90,345,150,20);
			add(cmbEstadoList);
			add(l_estado);
			
			cmbCidadeList.setSelectedIndex(1);
			cmbCidadeList.addActionListener(this);
			cmbCidadeList.setBounds(340,345,150,20);
			add(cmbCidadeList);
			add(l_cidade);
			
			cmbTelefoneList.setSelectedIndex(1);
			cmbTelefoneList.addActionListener(this);
			cmbTelefoneList.setBounds(90,435,45,20);
			add(cmbTelefoneList);
			add(l_telefone);
			
			cmbCelularList.setSelectedIndex(1);
			cmbCelularList.addActionListener(this);
			cmbCelularList.setBounds(405,435,45,20);
			add(cmbCelularList);
			add(l_celular);
			
			
			//criacao dos botoes radio
			sim = new JRadioButton ("Masculino");
			sim.setBounds(305,210,90,20);
			nao = new JRadioButton ("Feminino");
			nao.setBounds(395,210,90,20);

			Bg = new ButtonGroup();
			Bg.add(sim);
			Bg.add(nao);
			this.add(sim);
			this.add(nao);
			Bg.clearSelection();


					
		
			//Gerando uma acao para os botoes
			bt_valid.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt)
			{
				if (new String(senha_char.getPassword()).equals("world12"))
					JOptionPane.showMessageDialog(null,"Senha Válida!");
				else
					JOptionPane.showMessageDialog(null,"Senhas Não Correspondem!");
			}});
		
		
			bt_limpar.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evento){
					if(evento.getSource() == bt_limpar){
						c_cod.setText("");
						c_nome.setText("");
						c_data.setText("");
						c_cpf.setText("");
						c_rg.setText("");
						c_endereco.setText("");
						c_num.setText("");
						c_cep.setText("");
						c_bairro.setText("");
						c_telefone.setText("");
						c_celular.setText("");
						c_email.setText("");
						senha_char.setText("");
						senha_confirme.setText("");
					}
				}
				});
			
				this.add(bt_limpar);
	
	
	
		bt_confirmar.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent evet){
		
			//conexao com o banco de dados
			if(evet.getSource() == bt_confirmar){
							  
            	String host = "127.0.0.1";
                String user = "root"; 
                String password = "";
                String db = "eletronicworld";
                //banco de dados
                    //Conecto no banco
                    try 
                    {
                            
                            Class.forName("com.mysql.jdbc.Driver");
                            Connection connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + db + "?autoReconnect=true",user,password); 
                            connection.setAutoCommit(false);
                            
                            //Crio a query
                            //String sql = "select * from cad_func where id = ?"; 
                            //String sql= "insert into cadastrocliente (nome,datanacimento,CPF,endereço,estado,cidade,cep,bairro,email,senha) values(??????????)";
                            //seleciona da tabela filmes onde o id_filme será digitado
                            //String sql = "select * from filmes"; 
                            
                            String sql="insert into cadastrocliente (nome,datanascimento,cpf,rg,endereço,numero,estado,cidade,bairro,cep,telefone,celular,email,senha) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
                            //insere dentro da tabela login nos campos nome,login,senha os valores que serão digitados
                            
                            //Crio o statement
                            PreparedStatement stmt = connection.prepareStatement(sql);
                            
                            //Passo parametro
                            //stmt.setString(1, c_cod.getText() );
                            stmt.setString(1, c_nome.getText() );
                            stmt.setString(2, c_data.getText() );
                            stmt.setString(3, c_num.getText() );
                            stmt.setString(4, c_num.getText() );
                            stmt.setString(5, c_endereco.getText() );
                            
                            stmt.setString(6, c_num.getText() );//cidade
                            stmt.setString(7, c_nome.getText() );//estado
                            
                            stmt.setString(8, c_bairro.getText() );
                            stmt.setString(9, c_bairro.getText() );
                            stmt.setString(10, c_num.getText() );
                            stmt.setString(11, c_telefone.getText() );
                            stmt.setString(12, c_celular.getText() );
                            stmt.setString(13, c_email.getText() );
                            stmt.setString(14, senha_char.getText() );
                            
                           // stmt.setString(3, c_senha.getText() );
                            //1 é a primeira interrogação, 2 o segundo,...
                            //
                            
                            //Executo a query
                            int rseletronicworld = stmt.executeUpdate(); 
                            //item exclusivo para realizar o insert, para o select é outro. Ver o exemplo 
      
                            //rseletronic_world.next();
                            //só funciona para o select
                            
                            //Mostro os dados
                            
                            
                            //System.out.println("Diretor: " + rsFilme.getString("diretor"));
                            // quando é digitado no c_nome a query é mostrada no c_email, atraves do id que é digitado se busca o resultado no banco de dados
                            // é mostrado o resultado quando o botao confirma é clicado, por que esta na ação definida para o botao
                            
                           
                            stmt.close();
                            connection.commit();
                            connection.close();
                            // fecha tudo, a tabela e a conexão 
                            //verificando quais são os erros de conexão
                    } catch (ClassNotFoundException e) {
                            System.out.println("Erro! Driver JDBC não encontrado!");
                            e.printStackTrace();
                    } catch (SQLException e) {
                            System.out.println("Erro! Problemas realizando a conexão ou a consulta!");
                            e.printStackTrace();
                    } 
			
                    if (c_nome.getText().equals(""))
                    {        
                            JOptionPane.showMessageDialog(null,"Cadastro Incorreto, Preencha Todos os Campos");
                    }
                    else
                    {
                            JOptionPane.showMessageDialog(null,"Cadastro Realizado com Sucesso!");
                            
                    }        
				c_cod.setText("");
				c_nome.setText("");
				c_data.setText("");
				c_cpf.setText("");
				c_rg.setText("");
				c_endereco.setText("");
				c_num.setText("");
				c_cep.setText("");
				c_bairro.setText("");
				c_telefone.setText("");
				c_celular.setText("");
				c_email.setText("");
				senha_char.setText("");
				senha_confirme.setText("");
			}
		}
	});
	
	this.add(bt_confirmar);
	
	
	bt_cancelar.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent evto){	
			if(evto.getSource() == bt_cancelar){		
				resposta = JOptionPane.showOptionDialog(null,"Tem Certeza que Deseja Sair?","Deseja Sair",JOptionPane.YES_NO_OPTION, DISPOSE_ON_CLOSE, null, null, null);
				if (resposta == JOptionPane.YES_OPTION) {
				// verifica se o usuário clicou no botão YES						
					System.exit(0);
					} 
	
			}
		}
	});
	
	}	
public JTextField getC_nome() {
		return c_nome;
	}

	public void setC_nome(JTextField c_nome) {
		this.c_nome = c_nome;
	}

	public JTextField getC_endereco() {
		return c_endereco;
	}

	public void setC_endereco(JTextField c_endereco) {
		this.c_endereco = c_endereco;
	}

	public JTextField getC_num() {
		return c_num;
	}

	public void setC_num(JTextField c_num) {
		this.c_num = c_num;
	}

	public JTextField getC_bairro() {
		return c_bairro;
	}

	public void setC_bairro(JTextField c_bairro) {
		this.c_bairro = c_bairro;
	}

	public JTextField getC_email() {
		return c_email;
	}

	public void setC_email(JTextField c_email) {
		this.c_email = c_email;
	}

	public JPasswordField getSenha_char() {
		return senha_char;
	}

	public void setSenha_char(JPasswordField senha_char) {
		this.senha_char = senha_char;
	}

	public JFormattedTextField getC_cod() {
		return c_cod;
	}

	public void setC_cod(JFormattedTextField c_cod) {
		this.c_cod = c_cod;
	}

	public JFormattedTextField getC_data() {
		return c_data;
	}

	public void setC_data(JFormattedTextField c_data) {
		this.c_data = c_data;
	}

	public JFormattedTextField getC_cpf() {
		return c_cpf;
	}

	public void setC_cpf(JFormattedTextField c_cpf) {
		this.c_cpf = c_cpf;
	}

	public JFormattedTextField getC_rg() {
		return c_rg;
	}

	public void setC_rg(JFormattedTextField c_rg) {
		this.c_rg = c_rg;
	}

	public JFormattedTextField getC_cep() {
		return c_cep;
	}

	public void setC_cep(JFormattedTextField c_cep) {
		this.c_cep = c_cep;
	}

	public JFormattedTextField getC_telefone() {
		return c_telefone;
	}

	public void setC_telefone(JFormattedTextField c_telefone) {
		this.c_telefone = c_telefone;
	}

	public JFormattedTextField getC_celular() {
		return c_celular;
	}

	public void setC_celular(JFormattedTextField c_celular) {
		this.c_celular = c_celular;
	}

	public JComboBox getCmbEstadoList() {
		return cmbEstadoList;
	}

	public void setCmbEstadoList(JComboBox cmbEstadoList) {
		this.cmbEstadoList = cmbEstadoList;
	}

	public JComboBox getCmbCidadeList() {
		return cmbCidadeList;
	}

	public void setCmbCidadeList(JComboBox cmbCidadeList) {
		this.cmbCidadeList = cmbCidadeList;
	}

	public JComboBox getCmbTelefoneList() {
		return cmbTelefoneList;
	}

	public void setCmbTelefoneList(JComboBox cmbTelefoneList) {
		this.cmbTelefoneList = cmbTelefoneList;
	}

	public JComboBox getCmbCelularList() {
		return cmbCelularList;
	}

	public void setCmbCelularList(JComboBox cmbCelularList) {
		this.cmbCelularList = cmbCelularList;
	}

public static void main(String[] args)throws ParseException {
	Tela_Cadastro_Client show = new Tela_Cadastro_Client();
	show.setVisible(true);

}

@Override
public void actionPerformed(ActionEvent e) {
	// TODO Auto-generated method stub
}

}

Alyesson

Ta faltando uma coisa ai em seu código.

Você precisa inicializar a conexão com o banco ( eu não vi, posso ter deixado passar sem perceber).

Você tem de chamar as classes DAO tipo

NomedaClasseDAO exemplo1 = new NomedaClasseDAO();

ClasseGetSetDAO exemplo2 = new ClasseGetSetDAO();

ConexaoBanco exemplo3 = new ConexaoBanco ();

Quando você clicar no botão “gravar”, dentro dele tem que ter um código assim:

exemplo2.setNome(String.valueOf(radio_bottom.getSelected()));
exemplo2.setCpf(Integer.valueOf(jText.setText()));

e após terminar todos os campos vc chama o método do preparedStatement:

exemplo1.NomeMetodoCriadoNaClasseDAO(exemplo2);

Tem que ser assim.

Espero ter ajudado

R

Vou fazer alguns testes e eu te falo obg pela ajuda

Criado 30 de outubro de 2016
Ultima resposta 6 de nov. de 2016
Respostas 4
Participantes 2