|
Ola Pessoal, sou iniciante em Java e preciso de um
help no uso do ResultSet......
No c�digo abaixo estou tendo problemas de mem�ria
no servidor de banco de dados, � o seguinte:
- executo o programa na minha
esta��o
- no servidor fa�o o monitormanento de
mem�ria pelo Task Manager e a mem�ria � consumida em quest�o de minutos, at� que
a aplica��o � abortada....
Fazendo alguns testes consegui resolver eliminando
os 2 ResultSets rstAux que crio no terceiro loop...
O fato � que seguindo exemplos de livros e do help
consegui montar este programa, e na verdade n�o sei estou utilizando os
componentes de forma correta, definindo nos lugares certos....
Se algu�m puder ajudar agrade�o desde
j�.......
Servidor: Win2000 Server c/ SQL Server
2000
Minha esta��o: Win2000 Pro + J2SDK
1.4.0
Valeu !!
Claudio
import java.io.*;
import java.net.*; import java.sql.*; import java.util.*; import java.lang.reflect.Array; public class
tsthelp
{ public static void main(String args[]) throws Exception { Properties prop = new Properties(); prop.put("user","HELP"); prop.put("password","HELP"); prop.put("serverVersion","Sql7"); String url = "jdbc:AvenirDriver://SERVIDOR:1433/HELPMIG"; Class.forName ("net.avenir.jdbc2.Driver"); Connection ctn= DriverManager.getConnection(url,prop);
Statement stmtEven =
ctn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Statement stmtEmpr = ctn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Statement stmtFunc = ctn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Statement stmtAux = ctn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rstAux;
strSQL = " SELECT CODIGOEVENTO, NOMEVENTO, TEMQTDE,
TEMVALOR"
+ " FROM TB_EVENTO"; ResultSet rstEven = stmtEven.executeQuery(strSQL); strSQL = " SELECT CODIGOEMPRESA, NOMEEMPRESA" + " WHERE TB_EMPRESA"; ResultSet rstEmpr = stmtEmpr.executeQuery(strSQL);
while(rstEmpr.next())
{
strSQL = " SELECT CODIGOFUNC,
NOMEFUNC"
+ " FROM TB_FUNC" + " WHERE CODIGOEMPRESA = " + rstEmpr.getLong("CODIGOEMPRESA") ResultSet rstFunc = stmtFunc.executeQuery(strSQL);
while(rstFunc.next())
{
strSQL = " SELECT CODIGOLANCTO,
VALORLANCTO"
+ " FROM TB_LANCFUN" + " WHERE CODFUNC = " + rstFunc.getLong("CODFUNC") ResultSet rstLanc = stmtLanc.executeQuery(strSQL);
while( ! rstEven.next()
)
{
if ( rstEven.getString("TEMQTDE") == 'S'
)
{ strSQL = " SELECT QTDE" + " FROM TB_VALQTDE" + " WHERE CODIGOFUNC = " + rstFunc.getLong("CODIGOFUNC"); rstAux = stmtAux.executeQuery(strSQL);
rstAux.beforeFirst();
if ( rstAux.next() ) { dblTotQtde += rstAux.getDouble("QTDE"); } rstAux.close(); }
if ( rstEven.getString("TEMVALOR") == 'S'
)
{ strSQL = " SELECT VALOR" + " FROM TB_VALVALOR" + " WHERE CODIGOFUNC = " + rstFunc.getLong("CODIGOFUNC"); rstAux = stmtAux.executeQuery(strSQL);
rstAux.beforeFirst();
if ( rstAux.next() ) { dblTotQtde += rstAux.getDouble("VALOR"); } rstAux.close(); }
} // Evento
} // Func
} // Empr
stmtFunc.close();
stmtEmpr.close(); stmtEven.close(); stmtAux.close(); } }
|
- RE: [java-list] Resultset consumindo mem�ria Cl�udio R . Lanzilotti
- RE: [java-list] Resultset consumindo mem�ria Sven E . van �t Veer
- Re: [java-list] Resultset_consumindo_mem�ria Maiko A. Rocha
- Re: [java-list] Resultset consumindo mem�ria Celso Junior
