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]
-------------------------------------------------------------------------