O codigo ta nada otimizado, mas ta quebrando o meu galho. To pesquisando pelo mes de fevereiro que é o que tem valores no banco.
Acho que o retorno nulo seja mesmo por não consegiur fazer a pesquisa de forma correta porque se eu tento direto no BD o mesmo código sem as ‘’ ou “” ele me retorna uma pesquisa com os campos em branco, já eu colocando as “” ou ‘’ ele me retorna o valor desejado.
[code]public Double listarDadosCaixa(String mes){
try{
if (mes.equals("Janeiro")){
ArrayList sql = (ArrayList) session.createSQLQuery("SELECT SUBSTRING(DATA,4), SUM(saldo) FROM tb_fluxocaixa WHERE SUBSTRING(DATA,4) =" + "'01/2010'").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Fevereiro")){
ArrayList sql = (ArrayList) session.createSQLQuery("select SUM(saldo) FROM tb_fluxocaixa where substring(data,4) = '" + "'02/2010'").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Março")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) ="+ "03/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Abril")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) =" + "04/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Maio")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) =" +"5/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Junho")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) =" +"06/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Julho")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) =" +"07/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Agosto")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) ="+ "08/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Setembro")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) ="+ "09/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Outubro")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) =" +"10/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Novembro")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) =" +"11/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
if (mes.equals("Dezembro")){
ArrayList sql = (ArrayList) session.createSQLQuery("select substring(data,4), SUM(saldo) FROM tb_fluxocaixa where substring(data,4) = "+"12/2010").list();
Double[] trans = new Double[5];
trans[1] = (Double) ((ArrayList) sql).get(1);
Double novoValor = trans[1];
return novoValor;
}
return 1.0 ;
}catch(Exception e){
e.printStackTrace();
return 2.0;
}
}
[/code]
printStackTrace
java.lang.NullPointerException
at br.com.graziela.delegate.CadastroDelegate.listarDadosCaixa(CadastroDelegate.java:400)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)