Boa tarde a todos,
Estou precisando da ajuda dos senhores(as) para solução de um problema.
Estou fazendo uma migração de sistema de dot.net para java, aqui uso o modelo MVC com Struts.
No meu DAO estou com um problema q não sei dizer se é na minha query ou no próprio método, a query esta vindo vazia e não descubro o pq de jeito nenhum.
No meu DAO passo como parâmetro o Bean e populo esse bean e pego essa lista de Bean na minha Action.
Mas o grande problema é q a query esta vindo fazia. Na query tem uma pegunta em que o código tem q ser maior que zero (0).
Mas mesmo assim não teve jeito.
Agradeço desde já a ajuda dos senhores(as).
Vou postar aqui pros senhores(as) o código do meu DAO e da minha Action.
Código DAO:
package raa.ebt.dao;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import raa.ebt.form.CadPDVFusaoForm;
import raa.ebt.vo.CadPDVFusaoVO;
public class CadPDVFusaoDAO extends ConnectionDAO{
String sql = "";
public List listarPDV(CadPDVFusaoVO pdvFusaoVO){
List listaPDV = new ArrayList();
try{
System.out.println("Entrou CadPDVFusaoDAO");
Connection con = getConnection();
System.out.println("Antes da Query");
String sql = " SELECT f.sidagentevenda, " +
" f.pdv_filho, " +
" NVL(VP.snomeagentevenda, '') nome_pai, " +
" NVL(vf.snomeagentevenda,'') nome_filho " +
" FROM tbldealer_fusao f, " +
" TBLAGENTECANALVENDA VP, " +
" TBLAGENTECANALVENDA VF " +
" WHERE F.nidregiao = ? " +
" AND F.sidagentevenda = VP.SIDAGENTEVENDA" +
" AND F.pdv_FILHO = VF.SIDAGENTEVENDA";
if(pdvFusaoVO.getCodPDVPai() > 0){
sql = sql + " AND F.sidagentevenda >= ? ";
}
if(pdvFusaoVO.getCodPDVFilho() > 0){
sql = sql + " AND F.pdv_filho >= ? ";
}
sql = sql + " ORDER BY F.sidagentevenda";
pstm = con.prepareStatement(sql);
pstm.setString(1,Integer.toString(pdvFusaoVO.getRegiao()));
pstm.setString(2,Integer.toString(pdvFusaoVO.getCodPDVPai()));
pstm.setString(3,Integer.toString(pdvFusaoVO.getCodPDVFilho()));
System.out.println("Depois da query");
System.out.println("SQL: " + sql);
System.out.println("getRegiao: " + pdvFusaoVO.getRegiao());
System.out.println("getCodPDVPai: " + pdvFusaoVO.getCodPDVPai());
System.out.println("getCodPDVFilho: " + pdvFusaoVO.getCodPDVFilho());
rs = pstm.executeQuery();
System.out.println("Antes do while");
while (rs.next()){
System.out.println("Entrou no while");
pdvFusaoVO.setRegiao(rs.getInt("nidregiao"));
pdvFusaoVO.setDescPDVPai(rs.getString("sidagentevenda") + "(" + rs.getString("snomeagentevenda")+")" + "<--" + (rs.getString("pdv_filho") + "(" + rs.getString("snomeagentevenda")+")"));
System.out.println("Resultado: " + (rs.getString("sidagentevenda") + "(" + rs.getString("snomeagentevenda")+")" + "<--" + (rs.getString("pdv_filho") + "(" + rs.getString("snomeagentevenda")+")")));
listaPDV.add(pdvFusaoVO);
};
System.out.println("Depois do while");
}catch(java.sql.SQLException sqlException){
System.out.println("sqlException: "+ sqlException);
}catch(Exception e){
System.out.println("Exception: "+ e);
}finally{
try{
System.out.println("Antes de fechar conexao.");
con.close();
System.out.println("Depois de fechar conexao.");
}catch(SQLException sqlException){
System.out.println("sqlException: "+ sqlException);
}
}
return listaPDV;
}
}
Action:
[code]
public class CadPDVFusaoAction extends DispatchAction {
public ActionForward carrega( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UtilitarioDAO utilitariodao = new UtilitarioDAO();
HttpSession session = request.getSession();
//Carrega regiao
List lista = utilitariodao.getListaRegiao();
if(lista.isEmpty())
session.removeAttribute("lstRegiao");
else
session.setAttribute("lstRegiao", lista);
return mapping.findForward("success");
}
public ActionForward executaPesquisa( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("CadPDVFusaoAction.entrou");
CadPDVFusaoVO pdvFusaoVO = new CadPDVFusaoVO();
CadPDVFusaoDAO pdvFusaoDAO = new CadPDVFusaoDAO();
//CadPDVFusaoForm pdvFusaoForm = (CadPDVFusaoForm) form;
List listaPDV = pdvFusaoDAO.listarPDV(pdvFusaoVO);
HttpSession session = request.getSession();
if (listaPDV.isEmpty()){
session.removeAttribute("lstPDVFusao");
}
else{
session.setAttribute("lstPDVFusao", listaPDV);
}
return mapping.findForward("success");
}
}
[code]