| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 13:01:20
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
Estou com uma classe auxiliar, onde possuo como atributo um ComboBox, e tenho 1 setter e um getter:
E tbm tenho uma classe de comandos no BD, odne faço o set na classe do ComboBox, porém quando chega no set, ele só é executaod uma vez, na segunda vez da eror e vai pro catch:
Alguém tem idéia do que pode estar causando o erro?
|
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:19:17
|
rafaelbortoletto
JavaBaby
![[Avatar]](/images/avatar/73b31da2c3e19a4920865d0e8ae1c82a.jpeg)
Membro desde: 26/01/2007 14:27:01
Mensagens: 95
Localização: São Bernardo do Campo - SP
Offline
|
sem a mensagem de erro exata é difícil saber o problema. Mas, na documentação do Java diz que você pode ter problemas se adicionar objetos string duplicados.
http://download.oracle.com/javase/1,5.0/docs/api/javax/swing/JComboBox.html#addItem%28java.lang.Object%29
Veja se a explicação ajuda.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:21:50
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
Acontece, que o erro gerado no catch é simplesmente "NULL" nada mais
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:32:41
|
rafaelbortoletto
JavaBaby
![[Avatar]](/images/avatar/73b31da2c3e19a4920865d0e8ae1c82a.jpeg)
Membro desde: 26/01/2007 14:27:01
Mensagens: 95
Localização: São Bernardo do Campo - SP
Offline
|
Creio que o problema possa ser que o Nome da peça está como NULL no banco de dados por isso, ele dá esse problema. Você pode tentar substituir por uma string vazia ou por um nome do tipo "vazio".
Em todo o caso, tente substituir o getCause por getMessage dentro do seu bloco catch ou use o printStackTrace() para saber um detalhe melhorado dessa exceção.
http://download.oracle.com/javase/1,5.0/docs/api/java/lang/Throwable.html#getMessage%28%29
This message was edited 1 time. Last update was at 01/05/2011 14:34:09
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:42:33
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
Mesmo o e.getMessage me diz NULL
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:44:13
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
será que não tem nada de errado com o tipo de retorno desse metodo?
porque se não for isso, entao nao sei, pq fiz o debug, e percebi que ele passa uma unica vez pelo setPeça, inclusive pega o nome d aprimeira peça no banco de dados e retorna porém na segunda vez nem passa pelo setter, vai direto pro catch....
e no meu BD n tem nenhum nome null
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:47:31
|
rafaelbortoletto
JavaBaby
![[Avatar]](/images/avatar/73b31da2c3e19a4920865d0e8ae1c82a.jpeg)
Membro desde: 26/01/2007 14:27:01
Mensagens: 95
Localização: São Bernardo do Campo - SP
Offline
|
Então, tente executar o comando sql ( select nome from tabela ) no seu banco de dados e veja se algum nome está como NULL. Se estiver, você terá que alterar a coluna nome no banco de dados para not null e guardar um nome sempre que inserir um registro ou então, fazer a substituição usando o método replace da string substituindo o valor null por uma string vazia ou com o texto "vazio" por exemplo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:49:29
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
No printStackTrace, o primeiro item da lista é a classe auxiliar Peças, no método setPeça(String peça);
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 14:54:12
|
rafaelbortoletto
JavaBaby
![[Avatar]](/images/avatar/73b31da2c3e19a4920865d0e8ae1c82a.jpeg)
Membro desde: 26/01/2007 14:27:01
Mensagens: 95
Localização: São Bernardo do Campo - SP
Offline
|
cole o printStackTrace todo aqui.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 15:00:34
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 15:17:52
|
rafaelbortoletto
JavaBaby
![[Avatar]](/images/avatar/73b31da2c3e19a4920865d0e8ae1c82a.jpeg)
Membro desde: 26/01/2007 14:27:01
Mensagens: 95
Localização: São Bernardo do Campo - SP
Offline
|
Pelas mensagens de erro o problema pode estar no fechamento de conexões que é fechado antes da hora.
Tente comentar o código abaixo e veja se funciona
Além disso, coloque o código de fechamento dentro de um finally para que seja executado corretamente.
fica assim
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 15:25:23
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
Já tentei comentar as 2 linhas de fechar o Statement e o ResultSet mas não deu certo, ja tentei o bloco finally tbm não deu, estou desanimado agora, muito ,mesmo
de uma olhada nesse método actionPerformed de um ComboBox onde eu pego o item selecionado e mando pra classe comandos onde esta o metodo de consultaPeça, que ao retornar vai para esse metodo que vou postar:
Agora esta certo a sequencia é essa
Admin_Consulta.actonPerformed -> Comandos.consultaPeça - > Auxiliar.Peça ->(retorna) Comandos.consultaPela ->(retorna) Admin_Consulta.actionPerformed
Se o erro não estiver ai, será que não é o tipo de retorno do consultaPeça()?
This message was edited 1 time. Last update was at 01/05/2011 15:26:16
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 15:57:37
|
rafaelbortoletto
JavaBaby
![[Avatar]](/images/avatar/73b31da2c3e19a4920865d0e8ae1c82a.jpeg)
Membro desde: 26/01/2007 14:27:01
Mensagens: 95
Localização: São Bernardo do Campo - SP
Offline
|
guilherme.dio wrote:Já tentei comentar as 2 linhas de fechar o Statement e o ResultSet mas não deu certo, ja tentei o bloco finally tbm não deu, estou desanimado agora, muito ,mesmo
de uma olhada nesse método actionPerformed de um ComboBox onde eu pego o item selecionado e mando pra classe comandos onde esta o metodo de consultaPeça, que ao retornar vai para esse metodo que vou postar:
Agora esta certo a sequencia é essa
Admin_Consulta.actonPerformed -> Comandos.consultaPeça - > Auxiliar.Peça ->(retorna) Comandos.consultaPela ->(retorna) Admin_Consulta.actionPerformed
Se o erro não estiver ai, será que não é o tipo de retorno do consultaPeça()?
Bom, se executa pelo menos uma vez o erro certamente não está no tipo de retorno porque se estivesse ele não executaria. Agora, depende do que você executa quando seleciona a tabela para procurar pelos nomes pela segunda vez. Pois, se forem tabelas diferentes pode ser que em outra tabela não existam itens cadastrados ou até mesmo itens nulos na coluna nome como falado antes.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/05/2011 15:59:33
|
guilherme.dio
JavaEvangelist
![[Avatar]](/images/avatar/74743899a998438d7d8d6e5356c18035.png)
Membro desde: 06/02/2011 20:48:03
Mensagens: 443
Localização: Santo André - SP
Offline
|
Resolvi, eu fiz um ArrayList, e no retorno.next fui criando um novo objPeça, setei no atributo Peça o retorno.getString("nome"); e adicionei o objPeça no arrayList
retornei o arrayList, e fiz uma logica pra adicionar no ComboBox.
|
 |
|
|
 |
|
|