Não atualiza banco

25 respostas
A

Boa noite pessoal,

Eu aperto o botão atualizar, da tudo certo roda normal, mas vou conferir no banco, continua a mesma coisa.

codigo atualizar:

public void atualizar(Clientes cliente) {  
      conectar();  
      String com = "UPDATE clientes SET cli_nome = '" + cliente.getNome()
              + "', cli_cidade = '" + cliente.getCidade() 
              + "', cli_sexo = '" + cliente.getSexo() 
              + "' WHERE cli_codigo = '" + cliente.getCodigo() + "';";
          
      System.out.println("Atualizada!");  
      try {  
         comando.executeUpdate(com);  
      } catch (SQLException e) {  
         e.printStackTrace();  
      } finally {  
         fechar();  
      }  
   }

codigo do botao atualizar

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        
        Clientes pessoa = new Clientes();  
        ClienteDao daoPessoa = new ClienteDao(); 
        Vector<Clientes> resultado = daoPessoa.buscar("1");
        
        for(Iterator<Clientes> interator = resultado.iterator(); interator.hasNext();){
           Clientes p = interator.next();
           System.out.println("Pessoa encontrada" + p.getNome());
           pessoa.setNome("jose da silva sauro");
           daoPessoa.atualizar(pessoa);
        }
        
    }

mensagem

Conectado!
Pessoa encontradaMarco Aur?lio
Conectado!
Atualizada!
Conexão Fechada
CONSTRUÍDO COM SUCESSO (tempo total: 8 segundos)

faço dinovo e aparece marco aurelio, inves de joao da silva sauro.

run:
Conectado!
Pessoa encontradaMarco Aur?lio
Conectado!
Atualizada!
Conexão Fechada
CONSTRUÍDO COM SUCESSO (tempo total: 9 segundos)

25 Respostas

S
public void altera(Clientes cliente) {

String com = "update clientes set cli_nome=?, cli_cidade=?, cli_sexo=? where cli_codigo=?";

try {
 PreparedStatement stmt = connection.prepareStatement(com);
 stmt.setString(1, cliente.getNome());
 stmt.setString(2, cliente.getcidade());
 stmt.setString(3, cliente.getSexo());
 stmt.setLong(4, cliente.getCodigo());
 stmt.execute();
 stmt.close();
 } catch (SQLException e) {
 throw new RuntimeException(e);
 }
 }

Lembrando que o connection aqui é o nome da sua variavel do tipo Connection. Tudo bem?

Usar PreparedStatement é muito mais elegante e seguro. rsrs.

N

Oi, alucardmaas.

Como está a sua conexão?
Você está abrindo uma transação ao criar o objeto Connection?

Você conferiu se existe o cli_codigo que você quer atualizar na tabela?

Abraços,
fique com Deus! :smiley:

M

commit???

F

Tenta tirar a vírgula no final do UPDATE.

Se não me falhe a memória, o PreparedStatement, por default, é “autocommit”.

http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html#disable_auto_commit

A

Obrigado pessoal vou fazer do jeito que vocês me passaram qualquer coisa volto

A

Pessoal continua a mesma coisa não atualiza, continua normal dando o comando agora não escreve Atualiza mais, mas porem também não da erro,

Mudei o código do banco em atualizar:

public void atualizar(Clientes cliente) {  

conectar();        
String com = "update clientes set cli_nome=?, cli_cidade=?, cli_sexo=? where cli_codigo=?";  
try {  
PreparedStatement stmt = (PreparedStatement) con.prepareStatement(com);  
stmt.setString(1, cliente.getNome());  
stmt.setString(2, cliente.getCidade());  
stmt.setString(3, cliente.getSexo());  
stmt.setLong(4, cliente.getCodigo());  
stmt.execute();  
stmt.close();  
} catch (SQLException e) {  
throw new RuntimeException(e);  
}  
}

Código do botão:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        Clientes pessoa = new Clientes();  
        ClienteDao daoPessoa = new ClienteDao(); 
        Vector<Clientes> resultado = daoPessoa.buscar("2");
        
        for(Iterator<Clientes> interator = resultado.iterator(); interator.hasNext();){
           Clientes p = interator.next();
           System.out.println("Pessoa encontrada" + p.getNome());
           pessoa.setNome("jose da silva sauro");
           daoPessoa.atualizar(pessoa);
        }
        
    }

E agora mostrando que contruiu com sucesso, mas quando faço dinovo ele não está atualizado:

Antes

Conectado!
Pessoa encontradaJasciane Pires Ferreira
Conectado!
CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)

Depois:

run: Conectado! Pessoa encontradaJasciane Pires Ferreira Conectado! CONSTRUÍDO COM SUCESSO (tempo total: 8 segundos)

Estranho!!! Insere normal, exclui, mas na hora de atualizar não vai

A

Pessoal me ajudem!!!

J

Verifique se na sua Connection nào esta definido setAutoCommit() como false.
Caso esteja e necessario fazer um commit() após o update no banco.

A

Mas como eu faço isto

A

???

V
  1. Não é necessário fazer cast de PreparedStatement para PreparedStatement. Se você está fazendo isso, é porque deu imports errados no seu código. Verifique se os imports das classes Connection, Statement, PreparedStatement e ResultSet estão no pacote java.util.sql;
  2. Não use Vector. É uma classe antiga, que deveria ser substituída por ArrayList desde o Java 1.2. Dê uma lida: http://www.guj.com.br/java/74068-classe-vector#389435
  3. Não dê nome de classes no plural;
  4. O nome correto é iterator e não interator;
  5. Use o for each para não ter que usar o iterator diretamente;
  6. Você tentou usar o depurador para ver se o método está sendo realmente chamado, com os dados que você realmente espera?
  7. Após você fazer o update, você está atualizando o objeto da classe cliente (recarregando do banco)? Ou está esperando que magicamente o objeto seja atualizado também? Você chegou a verificar no banco de dados se o dado foi mesmo alterado?
A

Vini como sou iniciante, algumas coisas que vc falou fico meio que perdido, o que eu fiz até agora foi através de livros e aqui com vocês, então eu queria só que você me desse um exemplo deste For each e aonde eu colocaria ele no meu código, e o que pode estar de errado com meu código.

Por favor!!!

Valeu pessoal do forum vocês são meus professores!!!rsrs

Código:

public void atualizar(Clientes cliente) {    
  
conectar();          
String com = "update clientes set cli_nome=?, cli_cidade=?, cli_sexo=? where cli_codigo=?";    
try {    
PreparedStatement stmt = (PreparedStatement) con.prepareStatement(com);    
stmt.setString(1, cliente.getNome());    
stmt.setString(2, cliente.getCidade());    
stmt.setString(3, cliente.getSexo());    
stmt.setLong(4, cliente.getCodigo());    
stmt.execute();    
stmt.close();    
} catch (SQLException e) {    
throw new RuntimeException(e);    
}    
}

Código Botão

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
      
    Clientes pessoa = new Clientes();    
    ClienteDao daoPessoa = new ClienteDao();   
    Vector<Clientes> resultado = daoPessoa.buscar("2");  
      
    for(Iterator<Clientes> interator = resultado.iterator(); interator.hasNext();){  
       Clientes p = interator.next();  
       System.out.println("Pessoa encontrada" + p.getNome());  
       pessoa.setNome("jose da silva sauro");  
       daoPessoa.atualizar(pessoa);  
    }  
      
}

Agora eu não o porque não atualiza, mas também não da erro

Conferi no banco e não está atualizado

A

Fiz algumas mudanças:

Meu código: Banco Atualizar

public void atualizar(Cliente cliente) {  

conectar();        
String com = "update clientes set cli_nome=?, cli_cidade=?, cli_sexo=? where cli_codigo=?";  
try {  
PreparedStatement stmt = (PreparedStatement) con.prepareStatement(com);  
stmt.setString(1,cliente.getNome());  
stmt.setString(2,cliente.getCidade());  
stmt.setString(3,cliente.getSexo());  
stmt.setLong(4,cliente.getCodigo());  
stmt.execute();  
stmt.close();  
} catch (SQLException e) {  
throw new RuntimeException(e);  
}  
}

Nota que mudei como você me falou para ArrayList

Abaixo quando executo o botão atualizar faz a busca e encontra normal a pessoa, conferi no banco, continua a mesma coisa

Conectado!
Pessoa encontrada: Jasciane Pires Ferreira
Conectado! 
CONSTRUÍDO COM SUCESSO (tempo total: 26 segundos)

Código botão atualizar

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        Cliente pessoa = new Cliente();  
        ClienteDao daoPessoa = new ClienteDao(); 
        ArrayList<Cliente> resultado = daoPessoa.buscar("2");
        
        for(Iterator<Cliente> iterator = resultado.iterator(); iterator.hasNext();){
           Cliente p = iterator.next();
           System.out.println("Pessoa encontrada: " + p.getNome());
           pessoa.setNome("jose da silva sauro");
           daoPessoa.atualizar(pessoa);
        }
        
    }

Outra coisa o Preparement quando eu não faço o cast ele da erro

PreparedStatement stmt = (PreparedStatement) con.prepareStatement(com);

Abaixo os Imports da minha classe

import com.mysql.jdbc.PreparedStatement;
import dao.banco.ConexaoBanco;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import model.Cliente;
A

O que pode estar acontecendo com o sistema para ele não atualizar no banco.

V

Altere seu import para:

java.sql.PreparedStatement

Do jeito que vc deixou é um erro pois usar o import dessa forma irá vincular sua aplicação ao driver do MySQL. Assim você também pode eliminar o cast.

Já tentou usar o depurador?
Um dos motivos pelo qual isso pode estar dando errado é que o código do cliente pode estar errado.
Ou talvez vc não esteja passando um cliente alterado para o DAO. Rodar passo a passo pode esclarecer o que está acontecendo.

A

então como posso estar fazendo isto Vini???

o que é o depurador, o estranho que inseri, e excluir, e busca, mas atualizar não, o código para atualizar está errado?

ou pode ser no banco, pois criei pelo MYSQL Front…
e defini código como chave primária.

???

V

Mas vc verificou cada parâmetro do objeto cliente passado para o DAO durante a depuração? É importante se certificar que está mesmo TUDO certo do lado do Java.

Tente rodar também a query manualmente no banco. As vezes é algum detalhe de escrita.

A

Vou dar uma olhada

J

Olá pessoal estou com um problema em sistema que estou desenvolvendo qd tento fazer uma atualização no banco de dados. Ha duvida é a msm do colega “alucardmaas”, no entanto, meu código fonte é diferente, gostaria que alguem analisasse e por gentileza respondesse o q esta errado…
No mais agradeço - lhes…

Código-Fonte
Classe Dao

public void alterarDependente(DependenteCliente dependente) throws Exception {

String alterarDependente = “UPDATE tbdependente SET tbDependenteNome = ?, tbDependenteSobreNome = ? WHERE tbDependenteId = ?”;

ps = getPreparedStatement(alterarDependente);

ps.setString(1, dependente.getDependente_nome());

ps.setString(2, dependente.getDependente_sobreNome());

ps.setInt(3, dependente.getDependente_id());

ps.executeUpdate();

ps.close();

}

Essa é a classe de conexão com o banco de dados

package EntidadesDao;

import java.sql.*;

public class ConexaoBD {

private String driver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/clinicamedica";
private String usuario = "root";
private String senha = null;
public PreparedStatement ps;
public Statement stm;
public ResultSet rs;
public Connection con;

public Connection getConexao() throws Exception {
    Class.forName(driver);

    con = DriverManager.getConnection(url, usuario, senha);
    con.setAutoCommit(false);
    return con;
}

public Statement getStatement() throws Exception {
    return getConexao().createStatement();
}

public PreparedStatement getPreparedStatement(String sql) throws Exception {
    return getConexao().prepareStatement(sql);
}

}
já li alguns post, no entanto, não consegui resolver o problema, e já ouvi falar sobre um Commit…
o que talves resolveria essa situação… no que puderem me ajudar agradeço, pois sou novo na área, abraços galera…

V

Comece por aqui:
http://www.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 também verifique se:
a) Os parâmetros estão sendo passados com os valores corretos;
b) Nenhuma exception está sendo disparada.

Caso haja exceptions, poste aqui também o erro.

J

Hô amigo vlw pela sugestão, no entanto, já descobri o problema…
Realmente os parametros não estavam enviando os valores para a classe DAO, mas já consegui resolver o problema…
No mais agradeço,
abraços !@!

J

Ae galera estou com um problema em uma tela de um sistema q estou desenvolvendo. Qd clico na linha dos registros retornados do banco gera um ERRO, se alguem puder me ajudar fico muit agradecido…
Abraços…

ERRO gerado

Exception in thread AWT-EventQueue-0 java.lang.IndexOutOfBoundsException: Index: 2, Size: 1

at java.util.LinkedList.entry(LinkedList.java:365)

at java.util.LinkedList.get(LinkedList.java:315)

at Formularios.DependenteClienteForm.tbDependenteLinhaSelecionada([color=darkblue]DependenteClienteForm.java:91[/color])

at Formularios.DependenteClienteForm.access$100([color=darkblue]DependenteClienteForm.java:24[/color])

at Formularios.DependenteClienteForm$1.valueChanged([color=darkblue]DependenteClienteForm.java:261[/color])

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)

at javax.swing.DefaultListSelectionModel.removeIndexInterval(DefaultListSelectionModel.java:660)

at javax.swing.JTable.tableRowsDeleted(JTable.java:4497)

at javax.swing.JTable.tableChanged(JTable.java:4400)

at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)

at javax.swing.table.AbstractTableModel.fireTableRowsDeleted(AbstractTableModel.java:245)

at javax.swing.table.DefaultTableModel.removeRow(DefaultTableModel.java:447)

at Formularios.DependenteClienteForm.mostrarDependente(DependenteClienteForm.java:73)

at Formularios.DependenteClienteForm.listarDependente(DependenteClienteForm.java:66)

at Formularios.DependenteClienteForm.tfNomeDependenteKeyPressed(DependenteClienteForm.java:424)

at Formularios.DependenteClienteForm.access$200(DependenteClienteForm.java:24)

at Formularios.DependenteClienteForm$2.keyPressed(DependenteClienteForm.java:281)

at java.awt.Component.processKeyEvent(Component.java:6248)

at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)

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

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

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

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

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

at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1836)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)

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

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

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

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

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

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

at java.awt.EventQueue$1.run(EventQueue.java:607)

at java.awt.EventQueue$1.run(EventQueue.java:605)

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

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

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)

at java.awt.EventQueue$2.run(EventQueue.java:621)

at java.awt.EventQueue$2.run(EventQueue.java:619)

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

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

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

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

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

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

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

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

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

Exception in thread AWT-EventQueue-0 java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

at java.util.LinkedList.entry(LinkedList.java:365)

at java.util.LinkedList.get(LinkedList.java:315)

at Formularios.DependenteClienteForm.tbDependenteLinhaSelecionada(DependenteClienteForm.java:91)

at Formularios.DependenteClienteForm.access$100(DependenteClienteForm.java:24)

at Formularios.DependenteClienteForm$1.valueChanged(DependenteClienteForm.java:261)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)

at javax.swing.DefaultListSelectionModel.removeIndexInterval(DefaultListSelectionModel.java:660)

at javax.swing.JTable.tableRowsDeleted(JTable.java:4497)

at javax.swing.JTable.tableChanged(JTable.java:4400)

at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)

at javax.swing.table.AbstractTableModel.fireTableRowsDeleted(AbstractTableModel.java:245)

at javax.swing.table.DefaultTableModel.removeRow(DefaultTableModel.java:447)

at Formularios.DependenteClienteForm.mostrarDependente(DependenteClienteForm.java:73)

at Formularios.DependenteClienteForm.listarDependente(DependenteClienteForm.java:66)

at Formularios.DependenteClienteForm.tfNomeDependenteKeyPressed(DependenteClienteForm.java:424)

at Formularios.DependenteClienteForm.access$200(DependenteClienteForm.java:24)

at Formularios.DependenteClienteForm$2.keyPressed(DependenteClienteForm.java:281)

at java.awt.Component.processKeyEvent(Component.java:6248)

at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)

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

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

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

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

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

at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1836)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)

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

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

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

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

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

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

at java.awt.EventQueue$1.run(EventQueue.java:607)

at java.awt.EventQueue$1.run(EventQueue.java:605)

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

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

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)

at java.awt.EventQueue$2.run(EventQueue.java:621)

at java.awt.EventQueue$2.run(EventQueue.java:619)

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

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

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

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

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

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

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

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

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

Exception in thread AWT-EventQueue-0 java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

at java.util.LinkedList.entry(LinkedList.java:365)

at java.util.LinkedList.get(LinkedList.java:315)

at Formularios.DependenteClienteForm.tbDependenteLinhaSelecionada(DependenteClienteForm.java:91)

at Formularios.DependenteClienteForm.access$100(DependenteClienteForm.java:24)

at Formularios.DependenteClienteForm$1.valueChanged(DependenteClienteForm.java:261)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)

at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:137)

at javax.swing.DefaultListSelectionModel.setValueIsAdjusting(DefaultListSelectionModel.java:668)

at javax.swing.plaf.basic.BasicTableUI$Handler.setValueIsAdjusting(BasicTableUI.java:923)

at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1136)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

at java.awt.EventQueue$1.run(EventQueue.java:607)

at java.awt.EventQueue$1.run(EventQueue.java:605)

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

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

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)

at java.awt.EventQueue$2.run(EventQueue.java:621)

at java.awt.EventQueue$2.run(EventQueue.java:619)

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

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

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

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

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

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

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

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

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
V

O erro é bem claro. Você está tentando acessar um índice que não existe da lista, na linha 91 do DependenteClienteForm.

O que tem nessa linha?

J

vlw amigo mas consegui resolver este problema, como vc disse o indice retornado não existia…
Abraços…

J

Tenho uma outra dúvida…
Estou com um problema quando tento setar um valor na variável…
tenho duas telas uma [color=red]clienteForm [/color]e a outra [color=red]pesquisaClienteForm[/color]
eu faço a pesquisa do ID do cliente na tela pesquisaClienteForm que retorna para a tela clienteForm o ID,
o problema é q na hora de SETAR este valor na variável q existe na tela clienteForm ele não seta…
Ja averiguei q o valor é passado para a outra tela, mas não consigo setar, alguém tem alguma sujestão…?

Codigo da tela [color=violet]pesquisaClienteForm[/color]

public void valorString() throws Exception {

Receita receita = new Receita();

ReceitaForm receitaForm = new ReceitaForm();

valorRetornado = (Integer.parseInt(tfPesquisarCod.getText().trim()));

receitaForm.recuperarString(valorRetornado);

}

Código da tela [color=violet]clienteForm[/color]

public int recuperarString(int valor) throws Exception {

tfCodCliente.setText(String.valueOf(valor));

receita.setReceita_codCliente(clienteDao.getClienteID(valor));

tfCodCliente.setText(String.valueOf(receita.getReceita_codCliente().getCliente_id()));

JOptionPane.showMessageDialog(null, valor + “\n” + “Valor retornado da pesquisa!”);

return valor;

}

No mais agradeço…

Criado 8 de março de 2012
Ultima resposta 24 de ago. de 2012
Respostas 25
Participantes 8