1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problemas com conexão de banco de dados com o java, no netbeans

Boa noite pessoas, estou precisando de ajuda com uma conexão com o banco de dados para um sisteminha de gerenciamento de tele entrega de pizzas, onde existe o cadastro, consulta, atualização e exclusão das tabelas Cliente, MotoBoy, Atendente, Produto (que seria o sabor da pizza), estou utilizando os métodos leModelo(), escreveModelo() e configuraOuvinte() para tratar os dados, para criar esse projeto, me baseei num um pouco mais simples, mas que utiliza as mesmas funções que eu sei que funciona, pois testei ele antes de adaptar para o sistema de tele entrega, fiz tudo certinho, compilo sem problemas, mas quando eu vou fazer os testes práticos não funciona, não sei o porque ja revisei mil vezes os códigos, e mais 3 colegas meus deram uma olhada e não conseguiram identificar a falha.

OBS: tenho que entregar esse trabalho segunda feira de noite, no caso amanhã, e só falta a conexão com o banco para ficar pronto.

package br.com.qi.sispizza.controller;

import br.com.qi.sispizza.model.Cliente;
import br.com.qi.sispizza.model.ClienteDao;
import br.com.qi.sispizza.view.ClienteCadastro;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ClienteController implements ActionListener{

    private ClienteCadastro tela;

    public ClienteController(ClienteCadastro obj){

        this.tela = obj;

        this.tela.configuraOuvinte(this);

    }

    public void inicia() {

        tela.setVisible(true);

    }   

    public void actionPerformed(ActionEvent e) {

        Cliente model = null;

        try{

            model = this.tela.leModelo();

            ClienteDao dao = new ClienteDao();

            if (e.getActionCommand().equals("Cadastrar")){

                dao.save(model);

                model.setMensagem("Cliente Cadastrado com Sucesso!");

            }

            model.setError(false);

        }

        catch (Exception ex) {

            model.setError(true);

            model.setMensagem(ex.getMessage());

        }

        finally {

            this.tela.escreveModelo(model);

        }
    }

}

Conexão

package br.com.qi.sispizza.model;

import java.sql.PreparedStatement;
import java.sql.ResultSet;


public class ClienteDao extends GenericDao {

    public Cliente find(int codCliente) throws Exception{

        Cliente obj=null;
        String mensagem="";
        String sql="select nome from cliente where idCliente=?";
        PreparedStatement pstm=super.getConnection().prepareStatement(sql);
        pstm.setObject(1, codCliente);

        ResultSet rs = pstm.executeQuery();


        obj=new Cliente();        
        if (rs.next()){

            obj.setNome(rs.getString("nome"));
        }
        else
            mensagem="Cliente não cadastrado!";

        rs.close();
        pstm.close();

        if (!mensagem.equals(""))
            throw new Exception(mensagem);

        return obj;

    }


    public void update(Cliente model) throws Exception{
        //Entender e corrigir a linha a baixo de código...
        String sql="update cliente set nome=? where idCliente=?";
        find(model.getCodPessoa());
        super.update(sql, model.getCodPessoa(), model.getNome(),
                model.getTelefone(), model.getEndereco());
    }

    public void delete(int codCliente) throws Exception{
        String sql="delete from cliente where idCliente=?";

        find(codCliente);
        super.delete(sql, codCliente);
    }

    public void save(Cliente model) throws Exception {

        try {

            String sql="insert into cliente values(?,?,?)";

            super.save(sql, model.getNome(),model.getTelefone(), model.getEndereco());

        }catch(Exception ex){
            throw new Exception ("Cliente já cadastrado!");

        }    

    }

}
'''

'''

package br.com.qi.sispizza.model;

public class Cliente extends Pessoa{

    private String endereco;
    private boolean error;
    private String mensagem="";

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public boolean isError() {
        return error;
    }

    public void setError(boolean error) {
        this.error = error;
    }

    public String getMensagem() {
        return mensagem;
    }

    public void setMensagem(String mensagem) {
        this.mensagem = mensagem;
    }

}

Frame

package br.com.qi.sispizza.view;

import br.com.qi.sispizza.model.Cliente;
import java.awt.event.ActionListener;
import java.util.EventListener;
import javax.swing.JOptionPane;

public class ClienteCadastro extends javax.swing.JFrame {

    /**
     * Creates new form ClienteView
     */
    public ClienteCadastro() {
        initComponents();
    }


    public Cliente leModelo(){

        Cliente obj = new Cliente();

        obj.setNome(txNomeCliente.getText());

        obj.setTelefone(txTelefone.getText());

        obj.setEndereco(txEndereco.getText());

        return obj;

    }

    public void escreveModelo(Cliente model){

        if (model==null)
            return;

        if(!model.isError()){
            txNomeCliente.setText(model.getNome());
        }

        if (!model.getMensagem().isEmpty()){
            JOptionPane.showMessageDialog(null,model.getMensagem());
        }

    }

    public void configuraOuvinte (EventListener ouvinte){
        btnCadastrarCliente.addActionListener((ActionListener)ouvinte);
    }
  • Dá algum erro? Por que você considera que tem falha?

    ViniGodoy   14 de jul de 2013
  • não está dando erro algum, por isso não estou entendo porque não funciona... e eu fiz ele me baseando em outro exercício e que está funcionando normal, só que não tem nada de diferente, além dos campos e métodos da classe Cliente;

    André Guggiana   14 de jul de 2013
  • Desconsiderar, percebi a data.

    Bruno de Oliveira   17 de jan de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags insert java jdbc mysql netbeans sql ou faça a sua própria pergunta.