Pessoal, preciso colocar os dados de uma consulta sql em array para imprimir um gráfico, mas não sei como fazer isso, alguém pode me ajudar?
<%@includefile="conexao_banco.jsp"%><%Statementst=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSetrs=null;rs=st.executeQuery("SELECT status, count(*) FROM ata where status!='' and (MONTH(DATA)= '"+request.getParameter("novaPos")+"')and (YEAR(data)= '"+nome+"' ) group by status");varstatus=newArray();//Aquidevearmazenarosstatusvarvalores=newArray();//Aquidevearmazenaraqtdeagrupadaporstatuswhile(rs.next()){//DAQUIEMDIANTENÃOSEICOMOARMAZENARDENTRODOWHILE.}%><SCRIPTlanguage=JavaScript><!--graph = new BAR_GRAPH("vBar");graph.labels = "Jan.,Feb.,Mar.,Apr.,May";graph.titles = "Month,Sales,Per-cent";//PRECISO SUBSTITUIR OS VALORES "380,150,260,310,430" ABAIXO PEOLOS VALORES DA CONSULTA PARA GERAR O GRÁFICOgraph.values = "380,150,260,310,430";graph.legend = "2001,2002";graph.showValues = 1;document.write(graph.create());//--></SCRIPT>
Mas assim, eu preciso armazenar os status e a qtde de chamados por status e no exemplo que vc me passou ´so armazeno os status, certo?
thiago.correa
Daí você pode criar um objeto que contenha esses dois atributos e ao invés de guardar a String, crie um list desse teu objeto, tenta aí e qualquer coisa dá um grito!
J
jlunge
Olá…
Posso estar falando besteira, mas acho que vc poderia criar um objeto contendo esses dois atributos (qtde e status) e adicionar esses objetos na list.
<SCRIPTlanguage=JavaScript><!--graph = new BAR_GRAPH("vBar");graph.labels = "NOMES DOS STATUS AQUI (SEPARADOS POR VÍRGULA)";graph.values = "VALORES DA CONTA AQUI (SEPARADOS POR VÍRGULA)";graph.showValues = 1;document.write(graph.create());//--></SCRIPT>
<%@includefile="conexao_banco.jsp"%><%Statementst=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSetrs=null;rs=st.executeQuery("SELECT status, count(*) as conta FROM ata group by status");List<String>s=ArrayList<String>();while(rs.next()){s.add(rs.getString("status"));s.add(rs.getString("conta"));}%>
Desde já agrdeço
Marcos
thiago.correa
Para ajudar então:
Antes das tuas tags script você consulta no banco os seus dados, só que ao invés de salvar em um list vamos salvar os status e as contas em uma string já separadas por vírgulas
//usamos essa classe para concatenar para fins de performanceStringBuildercontas=newStringBuilder();StringBuiderstatus=newStringBuilder();while(rs.next()){//concatena a conta e a virgula juntocontas.append(rs.getString("conta")).append(",");//concatena o status e a virgula juntostatus.append(rs.getString("status")).append(",");}
sugiro dar uma lida nos fundamentos da linguagem, pois pelo que você falou lógica você tem só lhe falta conhecimento técnico, dê uma olhada no tutorial da Sun sobre Java
Abraços!
vinicius_roc
Recomendo 3 coisas
1ª: Não utilizar codigo Java em sua JSP, isto pode te trazer serios problemas mais para frente, principalmente para fazer manuntenção.
2ª: Recomendo você estudar Struts, JDBC e arquitetura MVC, isto de ajudara muito em suas aplicações. A apostila disponivel para download da Caelum FJ-21 e explica bem e de uma maneira facil.
3ª estudar um poko de coleções no curso FJ-11 isso é bem explicado.
Abss
Boa Sorte
M
Marcos_rhs
Thiago… Muito obrigado pela ajuda!!
E seguindo o conselho vou dar uma olhada nos materiais indicados para me aprofundar na linguagem.