Cadastro com banco de dados

1 resposta
V

[b]bom,estou com duvidas em como criar um cadastro de cliente, que efetivamente realize um registro no banco de dados.
criei a tela de cadastro e o arquivo de conexao, mas fiquei perdida em como criar o metodo principal para chamar esse cadastro e alem disso meu arquivo de conexao apresenta um erro q nao consegui decifrar ainda...
sera que alguem pode me clarear sobre esse tema?

codigo da tela de cadastro

package locadora;


public class cadastro_cliente extends javax.swing.JFrame {

    /** Creates new form cadastro_cliente */
    public cadastro_cliente() {
        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() {

        jl_cadastro = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        rb_sim = new javax.swing.JRadioButton();
        rb_nao = new javax.swing.JRadioButton();
        jLabel11 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tf_dependentes = new javax.swing.JTextArea();
        tf_nome = new javax.swing.JTextField();
        tf_dataNasc = new javax.swing.JTextField();
        tf_endereço = new javax.swing.JTextField();
        tf_cidade = new javax.swing.JTextField();
        tf_estado = new javax.swing.JTextField();
        tf_telefone = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        tf_celular = new javax.swing.JTextField();
        botao_concluir = new javax.swing.JButton();
        botao_cancelar = new javax.swing.JButton();
        jLabel8 = new javax.swing.JLabel();
        tf_cpf = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Cadastro de Clientes");
        setBackground(new java.awt.Color(255, 255, 204));

        jl_cadastro.setBackground(new java.awt.Color(255, 255, 102));
        jl_cadastro.setFont(new java.awt.Font("Comic Sans MS", 1, 24));
        jl_cadastro.setForeground(new java.awt.Color(204, 0, 51));
        jl_cadastro.setText("Cadastro de Clientes");

        jLabel2.setText("Nome completo: ");

        jLabel3.setText("Data de nascimento:");

        jLabel4.setText("Endereço:");

        jLabel5.setText("Cidade:");

        jLabel7.setText("Estado:");

        jLabel9.setText("Telefone:");

        jLabel10.setText("Incluir dependentes: ");

        rb_sim.setText("Sim");

        rb_nao.setText("Não");
        rb_nao.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rb_naoActionPerformed(evt);
            }
        });

        jLabel11.setText("Dependentes:");

        tf_dependentes.setColumns(20);
        tf_dependentes.setRows(5);
        jScrollPane1.setViewportView(tf_dependentes);

        jLabel6.setText("Celular:");

        botao_concluir.setText("Concluir");

        botao_cancelar.setText("Cancelar");

        jLabel8.setText("CPF:");

        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)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel4)
                                    .addComponent(jLabel3)
                                    .addComponent(jLabel11)
                                    .addComponent(jLabel5)
                                    .addComponent(jLabel10))
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(layout.createSequentialGroup()
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                    .addGroup(layout.createSequentialGroup()
                                                        .addComponent(tf_cidade, javax.swing.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE)
                                                        .addGap(18, 18, 18))
                                                    .addGroup(layout.createSequentialGroup()
                                                        .addComponent(tf_telefone, javax.swing.GroupLayout.PREFERRED_SIZE, 264, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addGap(49, 49, 49)))
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                    .addComponent(jLabel6)
                                                    .addComponent(jLabel7))
                                                .addGap(18, 18, 18)
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                    .addComponent(tf_celular, javax.swing.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE)
                                                    .addComponent(tf_estado, javax.swing.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE)))
                                            .addGroup(layout.createSequentialGroup()
                                                .addComponent(tf_dataNasc, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(48, 48, 48)
                                                .addComponent(jLabel8)
                                                .addGap(18, 18, 18)
                                                .addComponent(tf_cpf, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE))
                                            .addComponent(tf_endereço, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)
                                            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)))
                                    .addGroup(layout.createSequentialGroup()
                                        .addGap(21, 21, 21)
                                        .addComponent(rb_sim)
                                        .addGap(35, 35, 35)
                                        .addComponent(rb_nao))))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addComponent(jLabel2)
                                .addGap(27, 27, 27)
                                .addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, 637, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(166, 166, 166))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel9)
                        .addContainerGap(734, Short.MAX_VALUE))))
            .addGroup(layout.createSequentialGroup()
                .addGap(194, 194, 194)
                .addComponent(botao_concluir, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(149, 149, 149)
                .addComponent(botao_cancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(242, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGap(253, 253, 253)
                .addComponent(jl_cadastro)
                .addContainerGap(296, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(42, 42, 42)
                .addComponent(jl_cadastro)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel3)
                        .addComponent(tf_dataNasc, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel8)
                        .addComponent(tf_cpf, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(tf_endereço, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(25, 25, 25)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tf_cidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel7)
                    .addComponent(tf_estado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5))
                .addGap(26, 26, 26)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel9)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(tf_telefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel6)
                        .addComponent(tf_celular, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(50, 50, 50)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(rb_sim)
                    .addComponent(rb_nao))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(30, 30, 30)
                        .addComponent(jLabel11))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(74, 74, 74)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botao_concluir, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(botao_cancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(121, Short.MAX_VALUE))
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-806)/2, (screenSize.height-700)/2, 806, 700);
    }// </editor-fold>                        

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

   
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new cadastro_cliente().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton botao_cancelar;
    private javax.swing.JButton botao_concluir;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel jl_cadastro;
    private javax.swing.JRadioButton rb_nao;
    private javax.swing.JRadioButton rb_sim;
    private javax.swing.JTextField tf_celular;
    private javax.swing.JTextField tf_cidade;
    private javax.swing.JTextField tf_cpf;
    private javax.swing.JTextField tf_dataNasc;
    private javax.swing.JTextArea tf_dependentes;
    private javax.swing.JTextField tf_endereço;
    private javax.swing.JTextField tf_estado;
    private javax.swing.JTextField tf_nome;
    private javax.swing.JTextField tf_telefone;
    // End of variables declaration
e o codigo que criei para a conexao com o banco de dados
package locadora;

import java.sql.*;
import javax.swing.JOptionPane;

public class conexao {

    final private String driver = "com.mysql.jdbc.Driver";
    final private String url ="jdbc:mysql://localhost:3306/locadora";
    final private String usuario = "root";
    final private String senha = "1234";
    private Connection conexao;//objeto responsavel pela conexao
    private Statement statement;//abrir caminho ate o banco
    private ResultSet resultset;// armazena o resultado das consultas sql


    // criando o metodo de conexo com o banco de dados
    public boolean conecta () throws SQLException
    {
        boolean result = true;

        try {
            Class.forName(driver);// metodo que chama pelo drive
            conexao = DriverManager.getConnection (url, usuario,senha );
            JOptionPane.showMessageDialog ("null", conectou);
        }
        
        // trata a exceção: drive nao ser encontrado
        catch (ClassNotFoundException Driver){
            JOptionPane.showMessageDialog(null, "driver nao localizado", + Driver);
            result = false;

        }
        catch (SQLException Fonte){
            JOptionPane.showMessageDialog(null, "Deu erro na conexao" + "com a fonte de dados:" + Fonte);
            result = false;
        }
        return result;
    }

    // metodo para desconexao do banco
    public void desconecta (){
        boolean result  = true;

        try{
            conexao.close();
            JOptionPane.showMessageDialog(null, "banco fechado");
        }
        catch (SQLException fecha)
        {
            JOptionPane.showMessageDialog(null, "nao foi possivel" +
                    "fechar o banco" + fecha);
            result = false;

        }
    }
    // tratar instruções sql
    public void executeSQL(String sql)
    {
        try {
            statement = conexao.createStatement();
            resultset = statement.executeQuery(sql);
        }
        catch (SQLException sqlex)
        {
            JOptionPane.showMessageDialog(null, "nao foi possivel" +
                    "executar o comando sql" + sqlex);

        }

    }



}

1 Resposta

adriano_si

VRM,

1 - Isso é avançado pra você, mas pense que como você está começando agora, praticamente suas dúvidas serão Básicas para os que ajudam os avançados, então da próxima vez, poste no fórum de Java Básico, até sentir que realmente já está num nível de discernir o que é Básico e o que é Avançado;

2 - Fica difícil ajudar a decifrar o erro, se nós nem vimos qual foi o erro que deu, posta aí pra vermos;

3 - Muito dificilmente, alguém lerá todo o seu código de Telas pra tentar entender quando que o erro ocorre… Posta aí só os métodos que aparecem no StackTrace do erro e conforme a necessidade for surgindo, quem for lhe ajudando, vai pedindo mais um pedaço;

É isso, ficamos no aguardo.

Criado 10 de setembro de 2011
Ultima resposta 10 de set. de 2011
Respostas 1
Participantes 2