Conexão com BD -Interpretação e método delete - Ajuda [SOS]

3 respostas
DavidUser
Gente meu problema é que o professo so entregou o codigo mastigado e agora nem sei qual método serve pra q ele podia almenos ter comentado, se alguem puder me ajudar a interpretar oq faz oq me ajudem, depois de entender ai sim poderei desenvouver um método de exclusão de dados, ta ai o:
package agenda;
//classe de coneção e gravação
import java.sql.*;
import java.util.Vector;
public class Cliente {
    private int idcli;
    private String nome;
    private String endereco;
    private String bairro;
    private String cidade;
    private String estado;
    private String telefone;
    public void setNome(String nome){
        this.nome=nome;
    }
    public String getNome(){
        return this.nome;
    }
    public void setEndereco(String endereco){
        this.endereco=endereco;
    }
    public String getEndereco(){
        return this.endereco;
    }
    public void setBairro(String bairro){
        this.bairro=bairro;
    }
    public String getBairro(){
        return this.bairro;
    }
    public void setCidade(String cidade){
        this.cidade=cidade;
    }
    public String getCidade(){
        return this.cidade;
    }
    public void setEstado(String estado){
        this.estado=estado;
    }
    public String getEstado(){
        return this.estado;
    }
    public void setTelefone(String telefone){
        this.telefone=telefone;
    }
    public String getTelefone(){
        return this.telefone;
    }
    public void incluirCliente(Cliente cl){
        ResultSet rs=null;
        String stm="insert into cliente (nome,endereco,bairro,cidade,estado,telefone)" +
                "Values(?,?,?,?,?,?)";
        Connection cnx;  
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            cnx=DriverManager.getConnection("jdbc:mysql://localhost/sistema","root","");
            PreparedStatement statement=cnx.prepareStatement(stm);
            statement.setString(1,cl.getNome());
            statement.setString(2,cl.getEndereco());
            statement.setString(3,cl.getBairro());
            statement.setString(4,cl.getCidade());
            statement.setString(5,cl.getEstado());
            statement.setString(6,cl.getTelefone());
            statement.executeUpdate();
            cnx.close();
        }
        catch(Exception e){
            System.out.println(e.toString());
        }
    
    }

    public Cliente getCliente(String valor,String buscado){
        String stm="Select * from cliente where "+buscado+"="+valor;
        ResultSet rs;
        Statement statem;
        Cliente cli=new Cliente();
        Cliente cl=new Cliente();
        try{
            rs=this.Conjunto(stm);
            rs.first();
            cli.setNome(rs.getString("nome"));
            cli.setEndereco(rs.getString("endereco"));
            cli.setCidade(rs.getString("cidade"));
            cli.setBairro(rs.getString("bairro"));
            cli.setEstado(rs.getString("estado"));
            cli.setTelefone(rs.getString("telefone"));
            cl=cli;
            
        } catch(Exception e){
            System.out.println(e.toString());
        }
        return cl;
    }
    public ResultSet Conjunto(String sql) throws Exception {
        ResultSet rs=null;
        String stm=sql;
        Connection cnx;   
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            cnx=DriverManager.getConnection("jdbc:mysql://localhost/sistema","root","");
            PreparedStatement statement=cnx.prepareStatement(stm);
            rs=statement.executeQuery();
        } 
        catch(Exception e){
            System.out.println(e.toString());
        }
        return rs;
    }
//aqui fui eu tentando criar o método delete:    
public void deleteCliente(String valor,String onde){
        String stm="Delete from cliente where "+onde+"="+valor;
        ResultSet rs;
        Statement statem;
        Connection cnx;

        try{
            rs=this.Conjunto(stm);
            rs.first();
        } catch(Exception e){
            System.out.println(e.toString());
        }
    }
//fim da tentativa, sem sucesso!
    public Vector ListaClientes(){
        Vector v=new Vector();
        Cliente cl=new Cliente();
        Cliente cli=cl;
        String sql="Select * from cliente";
        try{
            ResultSet rs=this.Conjunto(sql);          
            rs.last();
            int nel=rs.getRow();
            rs.first();
            System.out.println("Numero de leituras : "+nel);
            for(int i=0;i<nel;i++){
                String id=("idcliente");
                cli=cl.getCliente(id,"idcliente");
                v.addElement(cli);
                rs.next();
            }
        }
        catch(Exception e){
            System.out.println(e.toString());
        }
    return v;
    }
}

Porcaria de POG(*Programação Orientada a Gambiarra)!

3 Respostas

adriano_si

Cara… o método deleteCliente() faz o que ??? vc quer um método pra exclusão de dados quando já tem um ??? Eu acho que o exercício que seu professor passou é justamente pra vocês entenderem do que se trata…

Mano, POG é normal… não te mata por conta disso não… perdoa teu professor que não sobrevive de Programação… tira a POG que ele fez e estrutura a tua classe… simples…

adriano_si

Ah sim… POG não é programa e sim PROGRAMAÇÃO… o conceito é mais abstrato… por favor… não diminua a arte… hehehehehehe

Bons estudos :slight_smile:

DavidUser

to criando uma classe delete para apagar um cliente que já exista no banco (lógico), o objetivo é fazer um método que execute uma query deletando o nome que for expecíficado.
To perdido sem saber qual metodo busca o banco, qual executa a query…

Criado 15 de abril de 2009
Ultima resposta 15 de abr. de 2009
Respostas 3
Participantes 2