Ajuda com ResultSet/Driver OBDC+Access  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
andrzr
Entusiasta Java

Membro desde: 15/09/2009 09:06:51
Mensagens: 16
Localização: São Paulo - SP
Offline

Salve!
antes de mais nada peço desculpas se o código estiver muito estranho, mas eu estou começando em Java, estava acostumado com VB.

estou fazendo um programa para testar a conexão/manipulação dos dados contidos em um banco e por enquanto tenho isso:



é bem básico mesmo.

tenho 4 classes, são elas: Co (conexão), Main, JFrame(responsável pela interface gráfica) e Registro(responsável por armazenar as variáveis).

Main



Co


Registros



JFrame


problema novo:

ao iniciar o programa exibe uma MessageDialog com os dados do registro n.0(primeira linha) do banco, depois, ao clicar em "próximo"(que chama a função nextCand da classe Co) ele mostra o registro n.1(segunda linha do banco), normal, mas ao clicar "próximo" pela segunda vez o programa fecha e gera um relatório de erro. As primeiras linhas desse relatório são:



andei pesquisando e li algum post dizendo que não é bom usar ODBC, pois tem vários bugs mesmo. Como fazer para conectar a um banco Access sem usar ODBC?(e sem comprar drivers...)


Toda e qualquer ajuda é bem-vinda, tal como críticas construtivas.
Agradeço desde já!
abraço.

This message was edited 11 times. Last update was at 27/09/2009 19:36:24


"We will see how very important it is to bring about in the human mind the radical revolution. The crisis is a crisis in consciousness. A crisis that cannot, anymore, accept the old norms, the old patterns, the ancient traditions. And considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man still as he was. Still brutal, violent, aggressive, acquisitive, competitive. And has built a society along these lines."
- Jiddu Krishnamurti
palmadias
JavaTeenager

Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline

o erro ocorre no método teste.Co.nextCand. Mas vc não publicou esse método.

http://palmadias.blogspot.com/
[WWW] [MSN]
andrzr
Entusiasta Java

Membro desde: 15/09/2009 09:06:51
Mensagens: 16
Localização: São Paulo - SP
Offline

palmadias wrote:o erro ocorre no método teste.Co.nextCand. Mas vc não publicou esse método.


falha minha, nextCand é o nome que eu dei anteriormente para o método fazConsulta.

"We will see how very important it is to bring about in the human mind the radical revolution. The crisis is a crisis in consciousness. A crisis that cannot, anymore, accept the old norms, the old patterns, the ancient traditions. And considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man still as he was. Still brutal, violent, aggressive, acquisitive, competitive. And has built a society along these lines."
- Jiddu Krishnamurti
jaso
What is classpath?
[Avatar]

Membro desde: 26/02/2009 14:05:56
Mensagens: 9
Localização: Ubá - MG
Offline

andrzr wrote:
palmadias wrote:o erro ocorre no método teste.Co.nextCand. Mas vc não publicou esse método.


falha minha, nextCand é o nome que eu dei anteriormente para o método fazConsulta.


Cara, bom dia, bom sou super novo aqui no forum tb, e estou estuando java... tb...... vou tentar responder e peco aqueles que ja tem grande conhecimento que digam se eu estiver errado. Acredito que sua linha de raciocinio esta correta sim, voce tem que criar um Array de objetos que sao referentes ao resultset, Tipo assim seu resultset retorna clientes, voce tem que fazer um array de clientes e povoar esses array com o resultado do resultset. Abaixo segue um codigo que como eu fiz, nao sei se é o melhor jeito :



Sobre a quantidade de campos da tabela, nao tem como nao, mesmo tendo 80 voce tera que ter uma classe que trata todos esse campos, chamada cliente por exemplo.

"Non deterret sapientem mors"
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline


Qual é a linha 58 deste arquivo Co.java?

This message was edited 1 time. Last update was at 17/09/2009 14:29:58


A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
andrzr
Entusiasta Java

Membro desde: 15/09/2009 09:06:51
Mensagens: 16
Localização: São Paulo - SP
Offline

Bruno Laturner wrote:
Qual é a linha 58 deste arquivo Co.java?



eu tinha feito a cagada de colocar trechos dos códigos..
agora coloquei inteiros.

mas a dúvida mudou, vou deixar pra tratar os botões depois, quero antes saber fazer o resgate dos valores contido no ArrayList lista que eu criei.

abraço!

"We will see how very important it is to bring about in the human mind the radical revolution. The crisis is a crisis in consciousness. A crisis that cannot, anymore, accept the old norms, the old patterns, the ancient traditions. And considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man still as he was. Still brutal, violent, aggressive, acquisitive, competitive. And has built a society along these lines."
- Jiddu Krishnamurti
lina
Moderador
[Avatar]

Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline

Oi,

Não seria array.get(int index); ?

Tchauzin!

Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java

Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]

@gujgirl

http://www.restartfans.hdfree.com.br

Meu blog:

http://www.runthecode.wordpress.com

Tchauzin!
[Email]
andrzr
Entusiasta Java

Membro desde: 15/09/2009 09:06:51
Mensagens: 16
Localização: São Paulo - SP
Offline

lina wrote:Oi,

Não seria array.get(int index); ?

Tchauzin!


Olá,
Obrigado pelo post.

Substituindo a linha n.30 "JOptionPane.showMessageDialog(null, rg.getCod());" por "JOptionPane.showMessageDialog(null, co.lista.get(1));"

a mensagem é:



"We will see how very important it is to bring about in the human mind the radical revolution. The crisis is a crisis in consciousness. A crisis that cannot, anymore, accept the old norms, the old patterns, the ancient traditions. And considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man still as he was. Still brutal, violent, aggressive, acquisitive, competitive. And has built a society along these lines."
- Jiddu Krishnamurti
lina
Moderador
[Avatar]

Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline

Oi,

Declare a sua lista assim:



E adicione nela, assim:



Post o resultado.

Tchauzin!

Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java

Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]

@gujgirl

http://www.restartfans.hdfree.com.br

Meu blog:

http://www.runthecode.wordpress.com

Tchauzin!
[Email]
andrzr
Entusiasta Java

Membro desde: 15/09/2009 09:06:51
Mensagens: 16
Localização: São Paulo - SP
Offline

lina wrote:Oi,

Declare a sua lista assim:



E adicione nela, assim:



Post o resultado.

Tchauzin!

UAU!
Muito obrigado! funcionou.
mais tarde eu volto a mexer no código =)

"We will see how very important it is to bring about in the human mind the radical revolution. The crisis is a crisis in consciousness. A crisis that cannot, anymore, accept the old norms, the old patterns, the ancient traditions. And considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man still as he was. Still brutal, violent, aggressive, acquisitive, competitive. And has built a society along these lines."
- Jiddu Krishnamurti
andrzr
Entusiasta Java

Membro desde: 15/09/2009 09:06:51
Mensagens: 16
Localização: São Paulo - SP
Offline

Bom, passando apenas 1 campo para o ArrayList a mensagem sai correta, mas passando mais campos(vide 'fazConsulta' na classe Conexao) a mensagem fica daquela maneira ""teste.Registros@1bc4459".
que que eu to fazendo de errado?

ja tentei faz o while de duas maneiras:




"We will see how very important it is to bring about in the human mind the radical revolution. The crisis is a crisis in consciousness. A crisis that cannot, anymore, accept the old norms, the old patterns, the ancient traditions. And considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man still as he was. Still brutal, violent, aggressive, acquisitive, competitive. And has built a society along these lines."
- Jiddu Krishnamurti
lina
Moderador
[Avatar]

Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline

Oi,

A maneira que você está fazendo é um pouco + complicada do que adicionar campo a campo no seu ArrayList.
Vou lhe mostrar duas maneiras:





Porém, como você adicionou a classe rg (completa) em seu ArrayList, você deverá fazer o seguinte para pegar seus valores.



Bom, acho que isso funciona! estou sem IDE para testar =)

Tchauzin!

Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java

Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]

@gujgirl

http://www.restartfans.hdfree.com.br

Meu blog:

http://www.runthecode.wordpress.com

Tchauzin!
[Email]
a.moraissoares
JavaChild
[Avatar]

Membro desde: 07/04/2009 12:53:08
Mensagens: 113
Offline

LIna, permita-me

Eu melhoraria maais ainda o que a Lina fez. Segue um exemplo basico



pra pegar os valores, vc terá q fazer assim, claro, com a devida modificação de acordo com sua aplicação


espero ter ajudado

This message was edited 1 time. Last update was at 20/09/2009 23:35:19

andrzr
Entusiasta Java

Membro desde: 15/09/2009 09:06:51
Mensagens: 16
Localização: São Paulo - SP
Offline

Obrigado Lina e A.moraissoares!

atualizei o código e funcionou, agora o problema é com o botão 'próximo', que ao ser acionado gera o seguinte erro:



não consigo entender o motivo desse erro.

"We will see how very important it is to bring about in the human mind the radical revolution. The crisis is a crisis in consciousness. A crisis that cannot, anymore, accept the old norms, the old patterns, the ancient traditions. And considering what the world is now, with all the misery, conflict, destructive brutality, aggression, and so on... Man still as he was. Still brutal, violent, aggressive, acquisitive, competitive. And has built a society along these lines."
- Jiddu Krishnamurti
a.moraissoares
JavaChild
[Avatar]

Membro desde: 07/04/2009 12:53:08
Mensagens: 113
Offline

Opa. Por nada cara.

Seguinte, só de estar dando NullpointerException, vc já tem que ver que ele esta tentando acessar uma área que não existe.
Eu não vi seu código nem tentei entender o que o PROXIMO faz, prq ta imenso e to no trampo, heheh.

O que o PRÓXIMO tem que fazer? Ele da erro no "fazConsulta", isso eu vi.

Poste aqui a parte do código onde ele fala q ta o erro, e qual o objetivo do PRÓXIMO.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team