Oi Cláudio, seu problema maior não é com o ResultSet, e sim com seu pequeno conhecimento em SQL. Procure alguma apostila e estude como fazer select com join, group by, funcoes de agregação... todo esse programa que voce fez pode ser feito com apenas uma consulta bem feita ao banco de dados, e com um tempo de resposta "infinitamente" melhor. Falou! =========================================== Francisco Deisimar Nobre Júnior Analista de Sistemas - CIT - M. Dias Branco ===========================================
-----Mensagem original----- De: Cláudio R. Lanzilotti [mailto:[EMAIL PROTECTED]] Enviada em: terça-feira, 23 de julho de 2002 19:43 Para: [EMAIL PROTECTED] Assunto: [java-list] Resultset 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.... 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(); } } ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------