Para fazer uma alteração utilizando o PostgreSql com banco
5 respostas
G
guting
Amigos, estou precisando de ajuda. Estou fazendo meu projeto final e o mesmo precisa incluir, consultar, alterar e excluir. Quanto a inclusão, blz. Agora se tento alterar quando clico no botão de alteração, me aparece no eclipse a seguinte mensagem no console.
meu caro guting esse objeto Client temp está nulo, por isso você tá recebendo esse nullPointer.
Da uma olhada aonde você define ele.
G
guting
Cara, vc poderia ser um pouco mais claro. Sou novo em programação java e estou tentando ajudar um dos membros do grupo que digitou esse codigo. Segue abaixo:
publicclassModelCliente{//ATRIBUTOSprivatestaticStringdataBase="postgresql";privatestaticStringdbName="AutoCenter";privatestaticStringuser="postgres";privatestaticStringpasswd="post";privatestaticStringtabName="cliente";privatestaticClienteDAOsDao=newClienteDAO(dataBase,dbName,user,passwd,tabName);privatestaticClientecliente=newCliente();publicModelCliente(){}publicstaticvoidincluiCliente(Tela1_ClientesobjTela){cliente.setDataCadastro(objTela.getDtCad());cliente.setCodigo(objTela.getCodigo());cliente.setNome(objTela.getOpcao1());cliente.setEndereco(objTela.getEndereco());cliente.setComplemento(objTela.getComplemento());cliente.setTelefone(objTela.getTelefone());cliente.setCep(objTela.getCep());cliente.setBairro(objTela.getBairro());cliente.setCidade(objTela.getCidade());cliente.setEstado(objTela.getEstado());cliente.setRg(objTela.getInscEst());cliente.setCpf(objTela.getCnpj());System.out.println("xxx4");try{cliente=sDao.makePersistent(cliente);}catch(DAOExceptionex){ex.printStackTrace();}}publicstaticvoidalteraAluno(Tela1_ClientesobjTela){booleanok=false;cliente.setDataCadastro(objTela.getDtCad());cliente.setCodigo(objTela.getCodigo());cliente.setNome(objTela.getOpcao1());cliente.setEndereco(objTela.getEndereco());cliente.setComplemento(objTela.getComplemento());cliente.setTelefone(objTela.getTelefone());cliente.setCep(objTela.getCep());cliente.setBairro(objTela.getBairro());cliente.setCidade(objTela.getCidade());cliente.setEstado(objTela.getEstado());cliente.setRg(objTela.getInscEst());cliente.setCpf(objTela.getCnpj());try{ok=sDao.updatePersistent(cliente);}catch(DAOExceptionex){ex.printStackTrace();}if(ok){System.out.println("Erro na alteração");}}publicstaticvoidexcluiCliente(Tela1_ClientesobjTela){// boolean ok;System.out.println("Dentro da classe Model, método excluiCliente");cliente.setDataCadastro(objTela.getDtCad());cliente.setCodigo(objTela.getCodigo());cliente.setNome(objTela.getOpcao1());cliente.setEndereco(objTela.getEndereco());cliente.setComplemento(objTela.getComplemento());cliente.setTelefone(objTela.getTelefone());cliente.setCep(objTela.getCep());cliente.setBairro(objTela.getBairro());cliente.setCidade(objTela.getCidade());cliente.setEstado(objTela.getEstado());cliente.setRg(objTela.getInscEst());cliente.setCpf(objTela.getCnpj());try{sDao.deletePersistent(cliente);}catch(DAOExceptionex){ex.printStackTrace();}}publicstaticvoidrecuperaClientes(Tela2_ClientesobjTela){try{sDao.DBCliente();}catch(DAOExceptionex){ex.printStackTrace();}carregaTable(objTela);}publicstaticvoidmostraCliente(Tela1_ClientesobjTela,Clientetemp){objTela.setDtCad(temp.getDataCadastro());objTela.setCodigo(temp.getCodigo());objTela.setOpcao1(temp.getNome());objTela.setEndereco(temp.getEndereco());objTela.setComplemento(temp.getComplemento());objTela.setTelefone(temp.getTelefone());objTela.setCep(temp.getCep());objTela.setBairro(temp.getBairro());objTela.setCidade(temp.getCidade());objTela.setEstado(temp.getEstado());objTela.setInscEst(temp.getRg());objTela.setCnpj(temp.getCpf());}publicstaticvoidmoveToReg(Tela1_ClientesobjTela,intreg){cliente=null;try{cliente=sDao.moveToReg(reg);}catch(DAOExceptionex){}mostraCliente(objTela,cliente);}publicClienteexibeReg(intreg){cliente=null;try{cliente=sDao.moveToReg(reg);}catch(DAOExceptionex){}returncliente;}publicstaticvoidcarregaTable(Tela2_ClientesobjTela){VectorlinhaTabela,titulosTabela;titulosTabela=newVector();titulosTabela.add("Código");titulosTabela.add("Nome");try{linhaTabela=sDao.carregaTable();DefaultTableModelmodeloTabela=newDefaultTableModel(linhaTabela,titulosTabela);objTela.getTabClientes().setModel(modeloTabela);}catch(DAOExceptionex){}}publicVectorcarregaTabAluno(){VectorlinhaTabela=newVector();try{linhaTabela=sDao.carregaTable();}catch(DAOExceptionex){}returnlinhaTabela;}publicClientelocalizaCliente(Stringmatricula){Clientecliente=newCliente();cliente=null;try{cliente=sDao.localizaCliente(matricula);return(cliente);}catch(DAOExceptionex){// ex.printStackTrace();}returncliente;}}
java.rco
Olha só no método moveToReg você invoca o método sDao.moveToReg(reg) que te retorna um cliente, esse método deve estar retornando null por isso ao passar para o próximo método
quando você tenta acessar algum atributo vc recebe um nullPointer.
G
guting
Java.rco muito obrigado. Vou olhar aqui o que pode ter acontecido. Vlw mesmo
G
guting
cara realmente vc estava certo, um dos atributos estava com um nome no banco e outro no programa.