Operation not allowed after resultset closed 0o!

Alguém me ajuda por favor! ta gerando esse erro e não to descobrindo o porquê. Segue o código

rsemprestimo = stm.executeQuery("SELECT * FROM `garbage` WHERE (`Datalog` = '" + importacaoatual.get(1).toString() + "' AND " +
				" Horalog = '" + importacaoatual.get(2).toString() + "')" + 
				" AND `Tpserv` != 'Pacote Dados 1GB'" );
			
			while(rsemprestimo.next()){
		
				Vector emprestimo = new Vector();
				Vector empvec = new Vector();
				
				for(int u = 1; u <= 24; u++){
					emprestimo.addElement(rsemprestimo.getObject(u));
				}
				
	
				if(emprestimo.get(23) != null){
		
					emp = stm.executeQuery("SELECT * FROM `cad_emprestimo` WHERE id = '" 
							+ emprestimo.get(23).toString() + "'");

					emp.next();
					
					for(int p = 1; p <= 6; p++){
						empvec.addElement(emp.getObject(p));
					}
					
					if(empvec.get(2).toString().equals(wordarray[i].toString())){
						String value = trataValor(emprestimo, 15);
						gastosdocentro = gastosdocentro + Double.parseDouble(value);
					}			
				}
			}

while (rsemprestimo.next())Enquanto o ResultSet rsemprestimo estiver aberto

emp = stm.executeQuery("SELECT * FROM `cad_emprestimo` WHERE id = '" + emprestimo.get(23).toString() + "'"); emp.next();você não pode realizar novas consultas usando a mesma conexão.

Pelo Amor de Deus! Use PreparedStatements.

E Vector é uma das piores implementações de List que já foram inventadas no java.util. Tente não usar isso (use ArrayList ou LinkedList).

E use generics!