Excluir, alterar, listar e etc

9 respostas
W

galera não estou conseguindo excluir, alterar, lista e etc...

Vamos um problema de cada vez...

fiz um switch na minha principal.

package contato.principal;

import contato.bean.traficoBean;
import contato.dao.ContatoDao1;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import util.DAOException;

public class Principal {

    public static void main(String args[]) throws DAOException {
        int m = 0;
        while (m == 0) {
            traficoBean cb = new traficoBean();
            ContatoDao1 cd = new ContatoDao1();
            String a = JOptionPane.showInputDialog("Digite 1 para inserir;\n" +
                    "2 para listar;\n" +
                    "3 para selecionar;\n" +
                    "4 para excluir;\n" +
                    "5 para alterar;\n");
            int b = Integer.parseInt(a);
            switch (b) {
                case 1:
                    cb.setNome(JOptionPane.showInputDialog("Digite o nome do traficante: "));
                    cb.setFunc(JOptionPane.showInputDialog("Digite a Função: "));
                    cb.setTempo(JOptionPane.showInputDialog("Digite o tempo que o traficante faz parte da Familia: "));
                    cb.setStatus(JOptionPane.showInputDialog("Digite se ele está VIVO / MORTO: "));
                    try {
                        cd.inserir(cb);
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 2:
                    try {
                        JOptionPane.showMessageDialog(null, cd.listar());
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 3:
                    cb.setNome(JOptionPane.showInputDialog("Digite o Nome: "));
                    try {
                        JOptionPane.showMessageDialog(null, cd.selecionar(cb.getCodigo()));
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 4:
                    cb.setNome(JOptionPane.showInputDialog("Digite o Nome: "));
                    try {
                        cd.excluir(cb.getCodigo());
                        JOptionPane.showMessageDialog(null, "Operação realizada com sucesso!");
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 5:
                    cb.setNome(JOptionPane.showInputDialog("Digite o nome do traficante: "));
                    cb.setFunc(JOptionPane.showInputDialog("Digite a Função: "));
                    cb.setTempo(JOptionPane.showInputDialog("Digite o tempo que o traficante faz parte da Familia: "));
                    cb.setStatus(JOptionPane.showInputDialog("Digite se ele está VIVO / MORTO: "));
                    try {
                        cd.alterar(cb);
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
            }
            m = JOptionPane.showConfirmDialog(null, "Deseja continuar usuando o sistema?");
        }
        JOptionPane.showMessageDialog(null, "Vlw... vai um bagulho aew?!?!?");
    }
}

ai fiz o a classe pra alterar, remover e etc...

/*
 * UsuarioDao.java
 *
 * Created on 24 de Setembro de 2006, 12:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package contato.dao;

import contato.bean.traficoBean;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import util.BaseDao;
import util.Conexao;
import util.DAOException;
import javax.swing.JOptionPane;

/**
 *
 * @author Pierre Viana
 */
public class ContatoDao1 implements BaseDao {

    private Connection con = null;
    private Statement stm = null;

    public Object inserir(Object vo) throws DAOException {
        traficoBean trafico = (traficoBean) vo;
        String sql = "insert into trafico(nome, func, tempo, status) values ('" + trafico.getNome() +
                "', '" + trafico.getFunc() +
                "', '" + trafico.getTempo() +
                "', '" + trafico.getStatus() +"');";
        try {
            con = Conexao.getConexao();
            stm = con.createStatement();
            stm.executeUpdate(sql);
            return trafico;
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            Conexao.fechar(stm);
            Conexao.fechar(con);
        }
        return null;
    }

    public Object alterar(Object vo) throws DAOException {
        traficoBean trafico = (traficoBean) vo;
        String sql = "update trafico set codigo='" + trafico.getCodigo() +
                "', nome='" + trafico.getNome() +
                "', email='" + trafico.getFunc() +
                "', endereco='" + trafico.getTempo() +
                "' where codigo='" + trafico.getCodigo() + "'";
        try {
            con = Conexao.getConexao();
            stm = con.createStatement();
            stm.executeUpdate(sql);
            return (trafico);
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            Conexao.fechar(stm);
            Conexao.fechar(con);
        }
        return null;
    }

    public Collection listar() throws DAOException {
        ArrayList traficos = new ArrayList();
        ResultSet rs = null;

        String sql = "select * from trafico";
        try {
            con = Conexao.getConexao();
            stm = con.createStatement();
            rs = stm.executeQuery(sql);
            traficoBean trafico;
            while (rs.next()) {
                trafico = new traficoBean();
                trafico.setCodigo(rs.getInt("codigo"));
                trafico.setNome(rs.getString("nome"));
                trafico.setFunc(rs.getString("func"));
                trafico.setTempo(rs.getString("tempo"));
                trafico.setStatus(rs.getString("status"));
                traficos.add(trafico);

                JOptionPane.showInputDialog("Código: " + rs.getObject("codigo"));
                JOptionPane.showInputDialog("Nome: " + rs.getObject("nome"));
                JOptionPane.showInputDialog("Função: " + rs.getObject("func"));
                JOptionPane.showInputDialog("Tempo: " + rs.getObject("tempo"));
                JOptionPane.showInputDialog("Status: " + rs.getObject("status"));


            }
            return (traficos); // acho que é sem o S
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            Conexao.fechar(rs);
            Conexao.fechar(stm);
            Conexao.fechar(con);
        }
        return null;
    }

    public Boolean excluir(Integer codigo) throws DAOException {

        String sql = "delete from trafico where codigo = '" + codigo.intValue() + "'";

        try {
            con = Conexao.getConexao();
            stm = con.createStatement();
            if (stm.executeUpdate(sql) == 0) {
                return true;
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            Conexao.fechar(stm);
            Conexao.fechar(con);
        }
        return false;
    }

    public Object selecionar(Integer codigo) throws DAOException {
        ResultSet rs = null;
        traficoBean contato = new traficoBean();

        //String sql = "select * from trafico where codigo= '" + codigo.intValue() + "'";
        String sql = "select * from trafico where nome = '" + codigo.intValue() + "'";
        try {
            con = Conexao.getConexao();
            stm = con.createStatement();
            rs = stm.executeQuery(sql);
            if (rs.next()) {
                contato.setCodigo(rs.getInt("codigo"));
                contato.setNome(rs.getString("nome"));
                contato.setFunc(rs.getString("Func"));
                contato.setTempo(rs.getString("tempo"));
                contato.setStatus(rs.getString("status"));
            }
            return contato;
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            Conexao.fechar(rs);
            Conexao.fechar(stm);
            Conexao.fechar(con);
        }
        return null;
    }

}

lembrando... que:

eu quero que o usuario digite o nome da pessoa que deseja excluir, alterar e etc... mais nao da certo da erro na linha String SQL.

por favor.. HELP HELP!

VLW

9 Respostas

W

rapaz, na verdade fazendo aqui já estou conseguindo fazer quase tudo… o que tenho que fazer é:

inserir = ok
listar = ok
selecionar = ok
excluir = ok
alterar = tá faltando!

tá faltando 2 coisas agora… fazer o comando alterar… que nào sei com é que faz… o usuario digita o nome da pessoa e apartir dai ele pode alterar os atributos dela!

e depois quero criar catch pra cada funcao… pois se o usuario digitar algo que nao ta na base de dados queria informar que nao existe… entende?

W

osmio logo quando postei aqui queria tirar duvidas… mais dai consegui logo depois solucionar quase todas…

nao quero necessariamente que alguem faca… quero ajuda de como fazer…mais mesmo assimm

vle pela ajuda!

wagne23

Quando eu faço eu normalmente faço uma busca do que eu quero alterar e mostro em um formulario os dadoe que eu busquei, ai o usuario faz as alterações e mando fazer um “update” no banco onde está o registro. Acho que o selecionar voce ja ta fazendo agora mana pra um formulario e depois manda alterar. Qualquer duvida posta ai.

W

exatamente isso que eu pensei… porem estou fazendo apenas com JOptionpane.showmessagedialog…

por isso queria uma forma de buscar se tem a pessoa no banco e se tiver eu faco janela dizendo…

coloque o novo nome
coloque o novo… etc…

entende?

wagne23

Acho que não endendi bem o que você quer fazer mas posta ai o seu erro.

wagne23

Dei uma olhada no seu código e vi que você está usando na sua SQl assim:

where codigo='" + trafico.getCodigo()

mas quando vc carrega o seu objeto com as JOptionPane você não carrega o codigo, ai da erro mesmo pq a propriedade esta nula quando vai salvar no banco. A minha sugestão é que vc pode pedir pra o usuario informar o codigo tambem ou mudar a sua SQL pra algo assim:

where codigo='" + trafico.getNome() na clausula WHERE. ou outra propriedade que sirva de id do objeto.

Spool

Qual o erro mesmo?!

Spool

winde3:
rapaz, na verdade fazendo aqui já estou conseguindo fazer quase tudo… o que tenho que fazer é:

inserir = ok
listar = ok
selecionar = ok
excluir = ok
alterar = tá faltando!

tá faltando 2 coisas agora… fazer o comando alterar… que nào sei com é que faz… o usuario digita o nome da pessoa e apartir dai ele pode alterar os atributos dela!

e depois quero criar catch pra cada funcao… pois se o usuario digitar algo que nao ta na base de dados queria informar que nao existe… entende?

Então, o que voce quer é que alguem faça o ALTERAR para voce?
Hummmm :shock:

Não é melhor voce fazer uma busca sobre como fazer isso?
Utiliza o velho e bom papai GOOGLE passando apenas algumas palavras-chave, tais como: “[google]atualizando dados comando sql[/google]”

Até.

Spool

winde3:
exatamente isso que eu pensei… porem estou fazendo apenas com JOptionpane.showmessagedialog…

por isso queria uma forma de buscar se tem a pessoa no banco e se tiver eu faco janela dizendo…

coloque o novo nome
coloque o novo… etc…

entende?

Nesse caso, voce tem que pesquisar no banco, trazer o resultado mapeado em um objeto, atualizar os valores do objeto com o OptionPane e somente depois executar o comando SQL para atualizar o banco de dados.

Até.

Criado 17 de junho de 2009
Ultima resposta 17 de jun. de 2009
Respostas 9
Participantes 3