Estou tendo um erro ao pesquisar no meu banco de dados

4 respostas
A

Este é meu erro:

java.sql.SQLException: Operation not allowed after ResultSet closed

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)

at com.mysql.jdbc.ResultSetImpl.checkClosed(ResultSetImpl.java:768)

at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:7008)

at Fornecedores.FornecedoresControl.listarFornecedores(FornecedoresControl.java:75)

at locadoraveiculos.Fornecedores.listarFornecedores(Fornecedores.java:464)

at locadoraveiculos.Fornecedores.btPesquisaFornecedorActionPerformed(Fornecedores.java:434)

at locadoraveiculos.Fornecedores.access$000(Fornecedores.java:15)

at locadoraveiculos.Fornecedores$1.actionPerformed(Fornecedores.java:83)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.Component.processMouseEvent(Component.java:6505)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)

at java.awt.Component.processEvent(Component.java:6270)

at java.awt.Container.processEvent(Container.java:2229)

at java.awt.Component.dispatchEventImpl(Component.java:4861)

at java.awt.Container.dispatchEventImpl(Container.java:2287)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)

at java.awt.Container.dispatchEventImpl(Container.java:2273)

at java.awt.Window.dispatchEventImpl(Window.java:2713)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)

at java.awt.EventQueue.access$000(EventQueue.java:101)

at java.awt.EventQueue$3.run(EventQueue.java:666)

at java.awt.EventQueue$3.run(EventQueue.java:664)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)

at java.awt.EventQueue$4.run(EventQueue.java:680)

at java.awt.EventQueue$4.run(EventQueue.java:678)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

E este é meu codigo:

public ListlistarFornecedores(String nome){

List fornecedores=new ArrayList();

try{

AcessoMySql mysql=new AcessoMySql();

pstm=(PreparedStatement) mysql.conectar().prepareStatement(consultaFornecedor);

pstm.setString(1, nome);

rs=pstm.executeQuery();

FornecedoresBean forn;

while (rs.next()){

forn=new FornecedoresBean();

forn.setCodigo(rs.getInt(idFornecedores));

forn.setNome(rs.getString(nome));

forn.setEndereco(rs.getString(endereco));

forn.setBairro(rs.getString(bairro));

forn.setCidade(rs.getString(cidade));

forn.setUf(rs.getString(uf));

forn.setCep(rs.getString(cep));

forn.setTelefone(rs.getString(telefone));

forn.setCpf(rs.getString(cnpj_cpf));

forn.setInscEstadual(rs.getString(inscricao_estadual_rg));

forn.setTelefone2(rs.getString(telefone2));

forn.setCelular(rs.getString(celular));

fornecedores.add(forn);

mysql.desconectar();

}

rs.close();
}catch(Exception e){
        e.printStackTrace();
    }
    return fornecedores;

}

4 Respostas

pmlm

http://guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

E já agora essa linha mysql.desconectar(); está fora do sítio.

A

Brigadão, deu certo agora!!!

JuniorMaia
public List<FornecedoresBean>listarFornecedores(String nome){ 
List<FornecedoresBean> fornecedores=new ArrayList(); 
try{ 
AcessoMySql mysql=new AcessoMySql(); 
pstm=(PreparedStatement) mysql.conectar().prepareStatement(consultaFornecedor); 
pstm.setString(1, nome); 
rs=pstm.executeQuery(); 
FornecedoresBean forn; 
while (rs.next()){ 
forn=new FornecedoresBean(); 
forn.setCodigo(rs.getInt("idFornecedores")); 
forn.setNome(rs.getString("nome")); 
forn.setEndereco(rs.getString("endereco")); 
forn.setBairro(rs.getString("bairro")); 
forn.setCidade(rs.getString("cidade")); 
forn.setUf(rs.getString("uf")); 
forn.setCep(rs.getString("cep")); 
forn.setTelefone(rs.getString("telefone")); 
forn.setCpf(rs.getString("cnpj_cpf")); 
forn.setInscEstadual(rs.getString("inscricao_estadual_rg")); 
forn.setTelefone2(rs.getString("telefone2")); 
forn.setCelular(rs.getString("celular")); 
fornecedores.add(forn); 

} 
rs.close(); 
mysql.desconectar(); 

}catch(Exception e){ 
e.printStackTrace(); 
} 
return fornecedores; 
}

1º use [code] para postar código
2º na tua primeira consulta teu resultset era fechado

A

Valeu, é q eu sou novo no forum e não sabia direito sobre como postar.

Criado 16 de maio de 2012
Ultima resposta 16 de mai. de 2012
Respostas 4
Participantes 3