[RESOLVIDO] Problemas com a Classe

Olá galera, ainda estou chegando forte em JAVA, mas encontrei este probleminha em com.controle com a classe CLIENTE.JAVA. Espero que alguém possa me ajudar com a solução e desde já agradeço.

package com.imobiliaria.controle;

import com.imobiliaria.banco.Conexao;
import com.imobiliaria.listas.lCliente;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
*

  • @author Administrador
    */
    public class Cliente extends PessoaFisica {
    private int id_Cliente;
    private int retorno;

private Connection conn;

/**
*

  • @author Administrador
    */
    public Cliente(){ - //Fala que está faltando implementar o javadoc.

this.id_Cliente = 0;
this.retorno = 0;
setCPF(null);
setRG(null);
setIdPessoa(0);
setNome(null);
setTelefone(null);
setEmail(null);

}

Bom dia,

vi que no construtor você está setando o valor default para as variáveis de instância, isso é desnecessário.

tem como você colocar a mensagem de erro completa?

[color=red][size=18]1º Use a tag code[/size][/color]

Não entendi isso, vc

[code]public Cliente(){ - //Fala que está faltando implementar o javadoc.

//*** ATÉ AQUI TUDO BEM (variaveis declarada na classe)
this.id_Cliente = 0;
this.retorno = 0;

//** vc esta setando essas variaveis da onde? e essa maneira ta errada, a referencia tem q ser This, ou Objeto, ou Classe
//onde elas foram declaradas?
setCPF(null);
setRG(null);
setIdPessoa(0);
setNome(null);
setTelefone(null);
setEmail(null);

} [/code]

tenta ver isso, dentro da classe que vc postou nao tem nada…

Infelizmente está dando erro ao responder, ERRO 404

Quando for postar procura usar a taglist igual o amigo falou

para fazer isso, você deve selecionar o código que colou na janela
e depois clicar na tag Code que fica no alto da janela que você
está digitando sua mensagem.
Se não souber, então procura nos Artigos iniciais do fórum
os tutoriais para fazer post.

Agora indo ao ponto

Onde estão as variáveis que estão sendo
setadas abaixo?

setCPF(null); setRG(null); setIdPessoa(0); setNome(null); setTelefone(null); setEmail(null);

Outro ponto é que seus métodos não tem corpo…

acho que o correto seria fazer por exemplo:

setCPF(int CPF) { cpf = CPF; }

Outro ponto é uma dica…
Não espera criar todo o programa para depois testar.
Experimenta criar uma parte e testar ou então
cria uma variável e tenta fazer o teste para ver se vai setar ou “getar”
normalmente

abraço e sucesso

Seja bem vindo ao GUJ

Estão em outra classe lCliente, obg pela dica. Vou tentar resolver pelo seu caso

[quote=gilluan]Bom dia,

vi que no construtor você está setando o valor default para as variáveis de instância, isso é desnecessário.

tem como você colocar a mensagem de erro completa?
[/quote]

Vou colocar o código por partes: só assim será aceito a postagem, a primeira parta jé foi postada. todo o resto é a sequência.

PARTE 2

[code]
/**
* @return the id_Cliente
*/
public int getId_Cliente() {
return this.id_Cliente;
}

/**
 * @param id_Cliente the id_Cliente to set
 */
public void setId_Cliente(int id_Cliente) {
    this.id_Cliente = id_Cliente;
}

/**
 * @return the retorno
 */
public int getRetorno() {
    return this.retorno;
}

/**
 * @param retorno the retorno to set
 */
public void setRetorno(int retorno) {
    this.retorno = retorno;
}

public void instanciarCliente(String valor) throws Exception {
PreparedStatement ps = null;
Connection conect = null;
ResultSet rs = null;
String sql = “select id_Cliente, idPessoa, nome, telefone, email,”+
“cpf, rg from listar_clientes where id_Cliente=?”;

    try{
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);
        ps.setString(1, valor);
        rs   = ps.executeQuery();

        if(rs.next()){
          
    setId_Cliente(rs.getInt(1));
    setIdPessoa(rs.getInt(2));
    if( rs.getString(3)!=null)
    setNome(rs.getString(3).toUpperCase());
    setTelefone(rs.getString(4));
    if( rs.getString(5)!=null)
    setEmail(rs.getString(5).toLowerCase());
    setCPF(rs.getString(6));
    setRG(rs.getString(7));
        } else {
    setId_Cliente(0);     
    setIdPessoa(0);
    setNome(null);
    setTelefone(null);
    setEmail(null);
    setCPF(null);
    setRG(null);
        }

        }catch(SQLException sqle){
            throw new Exception("Error Instanciar Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps,rs);
        }

}

[code]

parte 3

public void atualizarCliente() throws Exception {
try{
pegarIdPessoaAtualizacao();
atualizarPessoa();
atualizarPessoaFisica();
atualCliente();
setRetorno(3);
}catch(SQLException sqle){
throw new Exception("Erro atualizar Cliente "+sqle);
}
}

private void atualCliente() throws Exception {
PreparedStatement ps = null;
Connection conect = null;

    try{

      String  sql = "update cliente set  "+
                    "pessoa_Fisica_pessoa_idPessoa=? where id_Cliente=?";
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);
        ps.setInt(1,getIdPessoa());
        ps.setInt(2, getId_Cliente());
        ps.executeUpdate();

        }catch(SQLException sqle){
            throw new Exception("error Atualizar Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps);
        }

}

private void atualizarPessoaFisica() throws Exception {
PreparedStatement ps = null;
Connection conect = null;

    try{
    String sql = "update pessoa_fisica set  cpf=?, rg=? where pessoa_idPessoa=?";

        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = this.conn.prepareStatement(sql);
        if(getIdPessoa()>0){
        ps.setString(1,getCPF());
        ps.setString(2,getRG());
        ps.setInt(3,getIdPessoa());
        ps.executeUpdate();
        }

        }catch(SQLException sqle){
            throw new Exception("error Atualizar Pessoa Fisica em Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps);
        }

}

private void atualizarPessoa() throws Exception {
PreparedStatement ps = null;
Connection conect = null;

    try{

        String sql = "update pessoa set nome=?,telefone=?,email=? where idPessoa=?";
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);

        ps.setString(1,getNome().toUpperCase());
        ps.setString(2,getTelefone());
        ps.setString(3,getEmail().toLowerCase());
        ps.setInt(4, getIdPessoa());
        ps.executeUpdate();

        }catch(SQLException sqle){

            throw new Exception("error Atualizar Pessoa em cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps);
        }

}

parte 04

[code]

private void pegarIdPessoa() throws Exception {
PreparedStatement ps = null;
Connection conect = null;
ResultSet rs = null;
String sql = “select idPessoa from pessoa where email=?”;

    try{
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);
        ps.setString(1,getEmail());
        rs   = ps.executeQuery();

        if(rs.next()){
          setIdPessoa(rs.getInt(1));
        }

        }catch(SQLException sqle){
            throw new Exception("Error Pegar IdPessoa Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps,rs);
        }

}

private void pegarIdPessoaAtualizacao() throws Exception {
PreparedStatement ps = null;
Connection conect = null;
ResultSet rs = null;
String sql = “select pessoa_Fisica_pessoa_idPessoa from cliente where id_Cliente=?”;

    try{
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);
        ps.setInt(1,getId_Cliente());
        rs   = ps.executeQuery();

        if(rs.next()){
          setIdPessoa(rs.getInt(1));
        }

        }catch(SQLException sqle){
            throw new Exception("Error Pegar IdPessoa Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps,rs);
        }

}

private void pegarId() throws Exception {
PreparedStatement ps = null;
Connection conect = null;
ResultSet rs = null;
String sql = “select id_Cliente from listar_clientes where email=?”;

    try{
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);
        ps.setString(1,getEmail());
        rs   = ps.executeQuery();

        if(rs.next()){
          setId_Cliente(rs.getInt(1));
        }

        }catch(SQLException sqle){
            throw new Exception("Error Pegar Id Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps,rs);
        }

}

public void excluirCliente(String valor) throws Exception {
PreparedStatement ps = null;
Connection conect = null;
Boolean excluido = true;

    try{
    String sql = "update cliente set excluido=? where id_Cliente=?";
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);

        ps.setBoolean(1,excluido);
        ps.setString(2, valor);
        ps.executeUpdate();

        }catch(SQLException sqle){
            throw new Exception("error Excluir Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps);
        }

}

parte 05

[code]

private Boolean verificaSePessoaExiste(String valor) throws Exception {
PreparedStatement ps = null;
Connection conect = null;
ResultSet rs = null;
String sql = “select count(*) from pessoa where email=?”;

    try{
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);
        ps.setString(1,valor.toLowerCase());
        rs   = ps.executeQuery();

        rs.next();
        return   rs.getInt(1)>0;


        }catch(SQLException sqle){
            throw new Exception("Error Verificar se Cliente Existe "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps,rs);
        }

}

public void inserir() throws Exception {

try{
if(verificaSePessoaExiste(getEmail())==false){
inserirPessoa();
pegarIdPessoa();
inserirPessoaFisica();
inserirCliente();
pegarId();
setRetorno(1);
}else{
    pegarId();
    setRetorno(2);
}
}catch(SQLException sqle){
            throw new Exception("error Inserir Cliente "+sqle);
        }

}

private void inserirPessoa() throws Exception {
PreparedStatement ps = null;
Connection conect = null;

    try{

        String sql = "insert into pessoa(nome,telefone,email)values(?,?,?)";
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);

        ps.setString(1,getNome().toUpperCase());
        ps.setString(2,getTelefone());
        ps.setString(3,getEmail().toLowerCase());
        ps.executeUpdate();

        }catch(SQLException sqle){

            throw new Exception("error Inserir Pessoa "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps);
        }

}

private void inserirPessoaFisica() throws Exception {
PreparedStatement ps = null;
Connection conect = null;

    try{
    String sql = "insert into pessoa_fisica(pessoa_idPessoa, cpf, rg)values(?,?,?)";

        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = this.conn.prepareStatement(sql);
        if(getIdPessoa()>0){
        ps.setInt(1,getIdPessoa());
        ps.setString(2,getCPF());
        ps.setString(3,getRG());
        ps.executeUpdate();
        }

        }catch(SQLException sqle){
            throw new Exception("error Inserir Pessoa Fisica "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps);
        }

}

private void inserirCliente() throws Exception {
PreparedStatement ps = null;
Connection conect = null;
Boolean excluir = false;

    try{

      String  sql = "insert into cliente(pessoa_Fisica_pessoa_idPessoa,excluido)values(?,?)";
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);
        ps.setInt(1, getIdPessoa());
        ps.setBoolean(2, excluir);
        ps.executeUpdate();

        }catch(SQLException sqle){
            throw new Exception("error Inserir Cliente "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps);
        }

}

public ArrayList listar(String tipo, String valor) throws Exception{
PreparedStatement ps = null;
Connection conect = null;
ResultSet rs = null;
String sql = “select id_Cliente, nome, email, idPessoa from listar_clientes”;
String filtro="";

    valor = valor.toUpperCase();
        

    switch(Integer.parseInt(tipo)){
          case 1: filtro = " where id_Cliente=?";
                  break;
          case 2: filtro = "where CPF=? order by nome";
                  break;
          case 3: filtro = "where nome like ? order by nome";
                  break;            
    }

        

    sql = sql+" "+filtro;

    try{
        this.conn = Conexao.getConnection();
        conect = this.conn;
        ps   = conn.prepareStatement(sql);

      switch(Integer.parseInt(tipo)){

          case 1: ps.setString(1,valor);
                  break;
          case 2: ps.setString(1,valor);
                  break;
          case 3: ps.setString(1, "%" + valor +"%");
                  break;

      }

// if(tipo.equals(“2”)){
// ps.setString(1, “%” + valor +"%");} else {
// ps.setString(1,valor);
// }

        rs   = ps.executeQuery();

        ArrayList<lCliente> listApoio = new ArrayList<lCliente>();

        while(rs.next()){

            lCliente apoio = new lCliente();

            apoio.setId_Cliente(rs.getInt(1));
            apoio.setNome         (rs.getString(2));
            apoio.setEmail        (rs.getString(3));
            apoio.setIdPessoa     (rs.getInt(4));

            listApoio.add(apoio);
        }


        return listApoio;

        }catch(SQLException sqle){
            throw new Exception("Erro no Metodo Listar Funcionarios "+sqle);
        }finally{
         Conexao.CloseConnection(conn,ps,rs);
        }

}

}

[quote=gilluan]Bom dia,

vi que no construtor você está setando o valor default para as variáveis de instância, isso é desnecessário.

tem como você colocar a mensagem de erro completa?
[/quote]

Postagem completa do código por parte.

[code]

    setCPF(null); //nessa parte foi setado de lCliente
    setRG(null); //nessa parte foi setado de lCliente
    setIdPessoa(0); //nessa parte foi setado de lCliente
    setNome(null); //nessa parte foi setado de lCliente
    setTelefone(null); //nessa parte foi setado de lCliente
    setEmail(null); //nessa parte foi setado de lCliente

Obg a todos, faltou referência há algumas classes, Problema resolvido

Que bom que resolveu o problema, mas só um detalhe você tem que abrir e fechar as tags code, adicionar um [/code] no final do seu código.

Amigo que bom que encontrou o problema…
Não se desespere pois é super normal para nós que estamos iniciando
esquecermos alguma declaração, instância ou referência.

Agora é seguir em frente e sempre segmentar seus programas indo testando aquilo que já for produzido.

Não se esqueça colocar código usando as tags Code

Sucesso

Congragulations !

Normal isso, ja aconteceu com qualquer um…
\o/