Oi Pessoal, td bem??
Estou com um probleminha na minha pagina JSP.
Ela faz um acesso ao Banco. E, dependendo da situação, ela traz alguns registros.
Mas quando eu acesso a mesma pagina varias vezes, ela começa a repetir os registros. Mesmo depois de eu ter mudado o registro no BANCO DE DADOS! Se eu nao altero o registro no SGBD ele começa a duplicar, triplicar…cada acesso que eu faço na pagina ele coloca mais um registro…e eu ja coloquei um monte de linhas para nao guardar cache. Alguém tem alguma luz???
Segue o trecho do meu codigo
Oi Pessoal, td bem??
Estou com um probleminha na minha pagina JSP.
Ela faz um acesso ao Banco. E, dependendo da situação, ela traz alguns registros.
Mas quando eu acesso a mesma pagina varias vezes, ela começa a repetir os registros. Mesmo depois de eu ter mudado o registro no BANCO DE DADOS! Se eu nao altero o registro no SGBD ele começa a duplicar, triplicar…cada acesso que eu faço na pagina ele coloca mais um registro…e eu ja coloquei um monte de linhas para nao guardar cache. Alguém tem alguma luz???
Segue o trecho do meu codigo
Ok, posta o código que você lista os dados do DB pra galera dá uma olhada!
T
teteorpPJ
Segue o Codigo:
......<%!privateArrayListrelacao=newArrayList();%><%Connectioncon=null;Statementstmt=null;try{Calendarhoje=Calendar.getInstance();Stringfiltro="";if(hoje.get(hoje.DAY_OF_WEEK)!=2){filtro="WHERE C03 = TO_CHAR(SYSDATE,'DD/MM') ";}else{filtro="WHERE C03 IN (TO_CHAR(SYSDATE,'DD/MM'),TO_CHAR((SYSDATE-1),'DD/MM'),TO_CHAR((SYSDATE-2),'DD/MM')) ";}Class.forName("oracle.jdbc.driver.OracleDriver");Stringurl="jdbc:oracle:thin:@192.168.1.150:1521:PRD";con=DriverManager.getConnection(url,"USR","PSW");stmt=con.createStatement();Stringquery=" SELECT C01,";query=query+" C02, ";query=query+" C03";query=query+" FROM TABLE_C ";query=query+filtro;query=query+" ORDER BY C03, C01";System.out.println(query);ResultSetrs=stmt.executeQuery(query);while(rs.next()){ArrayListitem=newArrayList(1);item.add(rs.getString(1));item.add(rs.getString(2));item.add(rs.getString(3));relacao.add(item);item=null;}con.close();con=null;stmt.close();stmt=null;}catch(Exceptione){con.close();con=null;stmt.close();stmt=null;System.out.println("Problemas - Verificar");e.printStackTrace();return;}%><tablewidth="100%"cellpadding="8"><%inti=1;inttam=relacao.size();Stringfigura1,figura2,figura3,figura4;for(i=0;i<tam;++i){if(i%2!=0){figura1="anniv-24.gif";figura2="anniv-28.gif";figura3="ballons-20.gif";figura4="cotillons-03.gif";}else{figura1="cotillons-03.gif";figura2="ballons-20.gif";figura3="anniv-28.gif";figura4="anniv-24.gif";}%><tr><tdwidth="10%"rowspan="3"><imgsrc="Fotos/<%= (String) (((ArrayList) (relacao.get(i))).get(1)) %>"border="0"align="left"width="150"height="200"></td><td><imgsrc="Fotos/<%=figura1%>"border="0"align="center"></td><td><imgsrc="Fotos/<%=figura2%>"border="0"align="center"></td></tr><tr><tdwidth="10%"COLSPAN=2><fontsize="4"><b><%=(String)(((ArrayList)(relacao.get(i))).get(0))%>,fazanivers&aacute;rionodia<%=(String)(((ArrayList)(relacao.get(i))).get(2))%></b></font></td></tr><tr><tdwidth="50%"><imgsrc="Fotos/<%=figura3%>"border="0"align="center"></td><tdwidth="50%"><imgsrc="Fotos/<%=figura4%>"border="0"align="center"></td></tr><%}//relacao = null;%></table></body></html>
O engraçado é quando eu coloquei a linha relacao = null;
Quando eu coloquei esta linha, a pagina aparentemente funcionou. Mas depois de 3 acessos seguidos deu exceção de NullPointer. Quando eu comento começa o lance de duplicação…
Valeu
[]´s
T
teteorpPJ
Ae galera.
Já resolvi meu problema.
O problema era a seguinte linha:
<%! private ArrayList relacao = new ArrayList(); %>