Boa Tarde a todos,
Estou com um problema desde a semana passada, tenho uma query um update no meu DAO, nela passo um código na clausula “where”, mas quando seto o valor do código na minha Action, o resultado esta vindo “null” e me da o seguinte erro abaixo:
exception
javax.servlet.ServletException: null
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
raa.ebt.action.CadRedeAction.executar(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Mesmo colocando um código fixo na query, ele me dá esse erro.
Vou postar abaixo um parte do código da meu DAO e da minha Action:
DAO:
public boolean alterarRede(CadRedeForm redeForm) throws IOException{
try{
System.out.println("CadRedeDAO: Entrou CadRedeDAO alterar.");
System.out.println(Utilitario.getUSUARIO());
System.out.println(getUtilitarioDAO().getdataHora());
System.out.println("CadRedeDAO: Antes da conexao.");
Connection con = getConnection();
pstm = con.prepareStatement(" UPDATE tblrede SET " +
" desc_rede = ?, " +
" uf = ?, " +
" cidade = ?, " +
" fone1 = ?, " +
" contato1 = ?, " +
" email1 = ?, " +
" fone2 = ?, " +
" contato2 = ?, " +
" email2 = ?, " +
" razao = ?, " +
" insc_est = ?, " +
" ender = ?, " +
" cnpj = ?, " +
" banco = ?, " +
" agencia = ?, " +
" conta = ?, " +
" cadfor = ?, " +
" contrato_social = ?, " +
" ender_prom = ?, " +
" cod_gr = ?, " +
" cod_gc = ?, " +
" is_ativo = ?, " +
" data_status = ?, " +
" obs = ? " +
" WHERE cod_rede = 550");
pstm.setString(1,redeForm.getDescrede());
pstm.setString(2,redeForm.getUf());
pstm.setString(3,redeForm.getCidade());
pstm.setString(4,redeForm.getFone1());
pstm.setString(5,redeForm.getContato1());
pstm.setString(6,redeForm.getEmail1());
pstm.setString(7,redeForm.getFone2());
pstm.setString(8,redeForm.getContato2());
pstm.setString(9,redeForm.getEmail2());
pstm.setString(10,redeForm.getRazaoSocial());
pstm.setString(11,redeForm.getInscrEst());
pstm.setString(12,redeForm.getEndereco());
pstm.setString(13,redeForm.getCnpj());
pstm.setString(14,redeForm.getBanco());
pstm.setString(15,redeForm.getAgencia());
pstm.setString(16,redeForm.getContaCorrente());
pstm.setString(17,redeForm.getCadFor());
pstm.setString(18,redeForm.getNumContrato());
pstm.setString(19,redeForm.getEnderProm());
pstm.setInt(20,Integer.parseInt(redeForm.getCodgr()));
pstm.setInt(21,Integer.parseInt(redeForm.getCodgc()));
pstm.setString(22,redeForm.getIsativo());
pstm.setString(23,redeForm.getDataStatus());
pstm.setString(24,redeForm.getObs());
pstm.setInt(25,Integer.parseInt(redeForm.getCodigo()));
Action:
public ActionForward executar(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("Entrou no metodo Executar");
CadRedeForm redeForm = (CadRedeForm) form;
CadRedeVO cadRedeVO = new CadRedeVO();
//carregando o bean
//System.out.println("Executar - Codigo: " + Integer.parseInt(redeForm.getCodigo()));
//cadRedeVO.setCodigo(Integer.parseInt(redeForm.getCodigo()));
cadRedeVO.setCodigo(550);
//System.out.println("Codigo: " + redeForm.getCodigo());
cadRedeVO.setDescRede(redeForm.getDescrede());
//System.out.println("Codigo: " + Integer.parseInt(redeForm.getCodigo()));
//cadRedeVO.setPesqRede(redeForm.PesqRede);
cadRedeVO.setUf(redeForm.getUf());
cadRedeVO.setDescRede(redeForm.getDescrede());
cadRedeVO.setCidade(redeForm.getCidade());
cadRedeVO.setFone1(redeForm.getFone1());
cadRedeVO.setContato1(redeForm.getContato1());
cadRedeVO.setEmail1(redeForm.getEmail1());
cadRedeVO.setFone2(redeForm.getFone2());
cadRedeVO.setContato2(redeForm.getContato2());
cadRedeVO.setEmail2(redeForm.getEmail2());
cadRedeVO.setEmailAlternativo(redeForm.getEmailAlternativo());
cadRedeVO.setRazao(redeForm.getRazaoSocial());
cadRedeVO.setInscEst(redeForm.getInscrEst());
cadRedeVO.setEnder(redeForm.getEndereco());
cadRedeVO.setCnpj(redeForm.getCnpj());
cadRedeVO.setBanco(redeForm.getBanco());
cadRedeVO.setAgencia(redeForm.getAgencia());
cadRedeVO.setConta(redeForm.getContaCorrente());
cadRedeVO.setCadFor(redeForm.getCadFor());
cadRedeVO.setNumContrato(redeForm.getNumContrato());
cadRedeVO.setEnderProm(redeForm.getEnderProm());
cadRedeVO.setCodgr(Integer.parseInt(redeForm.getCodgr()));
cadRedeVO.setCodgc(Integer.parseInt(redeForm.getCodgc()));
//System.out.println("Depois do codigo: " + Integer.parseInt(redeForm.getCodigo()));
String isativo = request.getParameter("isativo");
if (isativo == null){
redeForm.setIsativo("0");
}else{
redeForm.setIsativo("1");
}
//passa uma String para data
//cadRede.setDataStatus(new DateTime(redeForm.getDataStatus()));
cadRedeVO.setDataStatus(redeForm.getDataStatus());
cadRedeVO.setObs(redeForm.getObs());
//
System.out.println("Antes de entrar no IF do codigo: " + redeForm.getCodigo());
if (redeForm.getCodigo() == null && redeForm.getCodigo() == ""){
CadRedeDAO redeDAO = new CadRedeDAO();
if (redeDAO.incluirRede(cadRedeVO)){
executaListaRede(mapping, form, request, response);
return mapping.findForward("success");
}
else{
return mapping.findForward("failure");
}
}else{
CadRedeDAO redeDAO = new CadRedeDAO();
if (redeDAO.alterarRede(redeForm)){
executaListaRede(mapping, form, request, response);
redeForm.reset(mapping, request);
return mapping.findForward("success");
}
else{
return mapping.findForward("failure");
}
}
}
Desde já agradeço,
Vitor