java.sql.SQLException: Operation not allowed after ResultSet closed
Galera onde estou errando???
java.sql.SQLException: Operation not allowed after ResultSet closed
Galera onde estou errando???
posta o codigo ai…
É pra já
//QUANDO CLICAR NO LISTAR
try
{
lista_de_transportadores.add("teste");
ResultSet nomes;
conectar banco = new conectar();
nomes = banco.conectar("select nome from transportadora;");
lista_de_transportadores.clear();
while(nomes.next())
{
lista_de_transportadores.add(nomes.getString("nome"));
}
}
catch(Exception E)
{
System.out.println("ERRO NA LISTA >> " + E);
}
E o conectar é:
public ResultSet conectar (String linha_sql)
{
try
{
// stmt.executeUpdate(linha_sql);
resposta = stmt.executeQuery(linha_sql);
stmt.close();
conn.close();
System.out.println (">>ComandoSQL..oK");
}
catch (SQLException E)
{
System.out.println("ERRO AO EXECUTAR O COMANDO DE SQL NO BANCO");
System.out.println("ERRO Consulta -->" + E.getMessage());
}
return resposta;
}//conectar
Com e sem os:
stmt.close();
conn.close();
Dá o mesmo erro!
ow ceara.
blz !!
faz um teste assim:
public ResultSet conectar (String linha_sql)
{
try
{
resposta = stmt.executeQuery(linha_sql);
if (resposta == null)
System.out.println (">>ComandoSQL..nao trouxe resultado");
else
System.out.println (">>ComandoSQL..oK");
}
catch (SQLException E)
{
System.out.println("ERRO AO EXECUTAR O COMANDO DE SQL NO BANCO");
System.out.println("ERRO Consulta -->" + E.getMessage());
}
return resposta;
}
tente so para fazer um teste.
posta o resultado.
flow
Pow cara, primeiro valeu pela ajuda…
MASSSSSSSSSSS continua dando erro…
segue
>>ComandoSQL..oK
ERRO NA LISTA >> java.sql.SQLException: Operation not allowed after ResultSet closed
isso quer dizer que vc esta tentando acessar o seu ResultSet depois de ter dado um close() nele…
posta ai o código completo dessa implementaçao ai!
cya
bom
vamos para mais um teste
try
{
lista_de_transportadores.add("teste");
ResultSet nomes;
conectar banco = new conectar();
nomes = banco.conectar("select nome from transportadora;");
lista_de_transportadores.clear();
if (nomes != null)
{
while(nomes.next())
{
lista_de_transportadores.add(nomes.getString("nome"));
}
}
else
{
System.out.println("problema com o retorno da funcao conectar");
}
}
catch(Exception E)
{
System.out.println("ERRO NA LISTA >> " + E);
}
posta o retorno
vamos, assim por parte
Novamente, valeu pela ajuda…
Massss continua a MERDA do erro!!
>>ComandoSQL..oK
ERRO NA LISTA >> java.sql.SQLException: Operation not allowed after ResultSet closed
Em nenhum desses trexos de código que eu coloquei entrou no if de suposto erro!!!
=((
[quote=“jujo”]isso quer dizer que vc esta tentando acessar o seu ResultSet depois de ter dado um close() nele…
posta ai o código completo dessa implementaçao ai!
cya[/quote]
Jujo: cara na parte de conexão eu colocando os
stmt.close();
conn.close();
ou não, deu o mesmo erro!!!
=((
Valeu pela ajuda…
Os trechos da implementação tão aí em cima!!!
mas e o seu ResultSet ???
O ceara tenta fazer assim:
public ResultSet conectar (String linha_sql)
{
try
{
ResultSet resposta = stmt.executeQuery(linha_sql);
return resposta;
}
catch (SQLException E)
{
System.out.println("ERRO AO EXECUTAR O COMANDO DE SQL NO BANCO");
System.out.println("ERRO Consulta -->" + E.getMessage());
}
return resposta;
}
ou ton_sp,
nao vai rolar assim porque o resposta está como uma variável local do try, e vc nao vai conseguir acessa-lo de fora.
declara entao o ResultSet resultado antes do Try!
cya!
ou
return null;
Ceara, onde e de que tipo vc declara a tua variável “resposta” ?
Vamos lá vou colar todos os codigos…
conectar.java
[code]import java.sql.*;
public class conectar
{
private ResultSet resposta;
private Statement stmt;
private Connection conn;
public conectar()
{
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
System.out.println (">>Driver......oK");
String serverName = "localhost";
String mydatabase = "azai";
String username = "root";
String password = "";
String url = "jdbc:mysql://" + serverName + "/" + mydatabase;
conn = DriverManager.getConnection(url, username, password);
System.out.println (">>Conexão.....oK");
}
catch (Exception E)
{
System.out.println("Erro na conexão....>>"+ E);
}
try
{
stmt = conn.createStatement();
System.out.println (">>SQL pronto..oK");
}
catch(SQLException E)
{
System.out.println("Erro na criação do comando....>>"+ E);
}
}//MAIN
public ResultSet conectar (String linha_sql)
{
try
{
resposta = stmt.executeQuery(linha_sql);
if (resposta == null)
System.out.println (">>ComandoSQL..nao trouxe resultado");
else
System.out.println (">>ComandoSQL..oK");
}
catch (SQLException E)
{
System.out.println("ERRO AO EXECUTAR O COMANDO DE SQL NO BANCO");
System.out.println("ERRO Consulta -->" + E.getMessage());
}
return resposta;
}
}[/code]
Esse file é só para connectar no banco e fazer a consulta no SQL
no arquivo que eu chamo o banco e consulta tem:
private void botao_listarMouseReleased(java.awt.event.MouseEvent evt) {
//QUANDO CLICAR NO LISTAR\\
try
{
lista_de_despachantes.clear();
lista_de_despachantes.add("teste");
ResultSet nomes;
conectar banco = new conectar();
nomes = banco.conectar("select nome from transportadora;");
while(nomes.next())
{
lista_de_despachantes.add(nomes.getString("nome"));
}
}
catch(Exception E)
{
System.out.println("ERRO NA LISTA >> " + E);
}
}
O erro que está dando é:
Fico no aguardo!!!
POOOUUTZZZZ
Galera, achei o erro aqui!!
LAMENTAVEL… e não sei como estava acontecendo isso!!
Mas estou usando NetBeans…
Aí fui “passar” o debug e descobri que ele estava usando o conectar.java de outro diretório, infelizmente tinha o mesmo nome de arquivo, e realmente lah dentro tinha os:
]
stmt.close();
conn.close();
Agradeço de mais a ajuda de todos aqui!!!
Abraços
Ceará --> Seguindo com o projeto!!