Operation not allowed after ResultSet closed[Resolvido]

Esta ocorrendo este erro no meu codigo,estava pesquisando e descobri que deveria criar outro Statement que eu ja havia criado :frowning:
alguém sabe me explicar o que tem de errado no meu codigo?!
o erro aponta para esta linha:

meu codigo completo é:

[code]private void geraTabela3()
{
try
{
Aluno1 aluno;
model=new Aluno1TableModel();
resultadoDisciplina = comando.executeQuery(“select distinct disciplina from nota where rc_aluno=’”+ t0.getText() +"’");
while(resultadoDisciplina.next())
{
aluno=new Aluno1();
aluno.setDisciplina(resultadoDisciplina.getString(1));
resultadoModulo = comando.executeQuery(“select distinct modulo from nota where rc_aluno=’”+ t0.getText() +"’ and disciplina=’"+resultadoDisciplina.getString(1)+"’");
if(resultadoModulo.next())
{
aluno.setModulo(resultadoModulo.getString(1));
System.out.println(“select atividade from nota where rc_aluno=’”+ t0.getText() +"’ and disciplina=’"+resultadoDisciplina.getString(1)+"’ and modulo=’"+resultadoModulo.getString(1)+"’");
resultadoAtividade = comando.executeQuery(“select atividade from nota where rc_aluno=’”+ t0.getText() +"’ and disciplina=’"+resultadoDisciplina.getString(1)+"’ and modulo=’"+resultadoModulo.getString(1)+"’");
if(resultadoAtividade.next())
{
aluno.setAtividade(resultadoAtividade.getString(1));
}
}

			model.addAluno(aluno);  
		}	
		
		table = new JTable(model);

		JScrollPane scroller = new JScrollPane(table);
		scroller.setVisible(true);
		scroller.setBounds(20, 270, 700, 150);
		painel.add(scroller, null);
		

	}
	catch (SQLException erro) {
		erro.printStackTrace();
	}
}

[/code]
Alguém sabe onde está o erro?ou como posso resolver isso?
muito obrigada
:slight_smile:

[quote=paty_trind]Esta ocorrendo este erro no meu codigo,estava pesquisando e descobri que deveria criar outro Statement que eu ja havia criado :frowning:
alguém sabe me explicar o que tem de errado no meu codigo?!
o erro aponta para esta linha:

meu codigo completo é:

[code]private void geraTabela3()
{
try
{
Aluno1 aluno;
model=new Aluno1TableModel();
resultadoDisciplina = comando.executeQuery(“select distinct disciplina from nota where rc_aluno=’”+ t0.getText() +"’");
while(resultadoDisciplina.next())
{
aluno=new Aluno1();
aluno.setDisciplina(resultadoDisciplina.getString(1));
resultadoModulo = comando.executeQuery(“select distinct modulo from nota where rc_aluno=’”+ t0.getText() +"’ and disciplina=’"+resultadoDisciplina.getString(1)+"’");
if(resultadoModulo.next())
{
aluno.setModulo(resultadoModulo.getString(1));
System.out.println(“select atividade from nota where rc_aluno=’”+ t0.getText() +"’ and disciplina=’"+resultadoDisciplina.getString(1)+"’ and modulo=’"+resultadoModulo.getString(1)+"’");
resultadoAtividade = comando.executeQuery(“select atividade from nota where rc_aluno=’”+ t0.getText() +"’ and disciplina=’"+resultadoDisciplina.getString(1)+"’ and modulo=’"+resultadoModulo.getString(1)+"’");
if(resultadoAtividade.next())
{
aluno.setAtividade(resultadoAtividade.getString(1));
}
}

			model.addAluno(aluno);  
		}	
		
		table = new JTable(model);

		JScrollPane scroller = new JScrollPane(table);
		scroller.setVisible(true);
		scroller.setBounds(20, 270, 700, 150);
		painel.add(scroller, null);
		

	}
	catch (SQLException erro) {
		erro.printStackTrace();
	}
}

[/code]
Alguém sabe onde está o erro?ou como posso resolver isso?
muito obrigada
:)[/quote]

Bom dia paty_trind, vc pode postar o erro que acontece na sua SQL???

ola diegodtsa,
o erro é o seguinte

select distinct disciplina from nota where rc_aluno='5' select distinct modulo from nota where rc_aluno='5' and disciplina='biologia' java.sql.SQLException: Operation not allowed after ResultSet closed at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929) at com.mysql.jdbc.ResultSetImpl.checkClosed(ResultSetImpl.java:794) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:838) at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5656) at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5576) at telaVisualizacaoDeNotas.geraTabela3(telaVisualizacaoDeNotas.java:329) at telaVisualizacaoDeNotas.access$0(telaVisualizacaoDeNotas.java:288) at telaVisualizacaoDeNotas$4.actionPerformed(telaVisualizacaoDeNotas.java:217) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
a linha 329 é System.out.println("select atividade from nota where rc_aluno='"+ t0.getText() +"' and disciplina='"+resultadoDisciplina.getString(1)+"' and modulo='"+resultadoModulo.getString(1)+"'");

obrigada pela ajuda

Consegui arrumar este erro o Visola me explicou o seguinte

[quote]o problema está no seguinte…
na linha 319 você usa um Statement para executar uma consulta…
enquanto está percorrendo o resultado desta consulta você executa outra consulta, na linha 325 usando o mesmo Statement.
Quando você faz isso, automaticamente fecha o primeiro ResultSet (resultadoDisciplina).
Porque cada statement só pode executar uma única consulta por vez.
Você vai precisar de outro Statement se quiser executar dois resultsets ao mesmo tempo.[/quote]
Eu criei novos Statements e inicializei junto com o primeiro statement e agora esta funcionando!!

obrigada pela ajuda