Como pegar uma chave primária de um Banco de Dados MySQL?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 777
Offline

Por Favor será que alguém poderia me
dar uma ajuda? Eu não estou conseguindo
pegar a chave primária da minha tabela
endereco:



Mas eu não estou conseguindo retornar
a chave primária idEndereco através do meu
código Java:



[]'s.
[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 777
Offline

Por Favor será que alguém poderia me ajudar?

[]'s.
[MSN]
pedroroxd
GUJ Master
[Avatar]

Membro desde: 26/08/2009 14:56:11
Mensagens: 1615
Localização: Santa Rita do Sapucaí - O vale da Eletrônica
Offline

Bom... Você vai executar esse SQL:




Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja Isso!

"Quem quer fazer, arranja um jeito. Quem não quer, uma desculpa."

'The dictionary is the only place that success comes before work!"

"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus."

"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple.
But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."


"O Brasil é um país geométrico. Tem problemas angulares, discutidos em mesas redondas, por um monte de bestas quadradas."

"Olho por olho, e o mundo acabará cego."

"Se falam pelas costas, é sinal que eu to na frente"
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2947
Localização: sp
Offline

coloca o rs.next() (linha30) em um if pra ver se é verdadeiro, e da um system.out ali só pra teste...

caso não esteja entrando no if provavelmente seu campo na tabela do mysql não é auto_increment, se tiver entrando, disconfio também que vc possa precisar de um long, ja que o integer do banco é unsigned... ai vc da um nextLong na linha 31 ao invéz de nextInt...

faz esses testes e volta aki pra ver dizer se funciono...

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 777
Offline

Jóia pedroroxd e maior_abandonado?
obrigado pela ajuda de vc's mas ainda eu não consegui,

eu troquei a parte do código para:



e coloquei um if para testar:


e descobrir que o campo do idEndereco é AUTO_INCREMENT sim,
mas do mesmo jeito com todos os testes feito aparece a seguinte Exceção:



Obrigado pela ajuda pedroroxd e maior_abandonado,
mas será que um de vc's dois ou alguém sabe o que eu devo
ter feito de errado?

[]'s.
[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 777
Offline

Eu tô quase fazendo uma consulta
SELECT para pegar a chave primária
atual gerada pelo AutoIncrement do Banco.
Se bem que isso não vai ser eficiente,
mas não estou conseguindo cadastrar
um endereço novo no banco e retornar
a chave primária gerada por aquele
novo endereço.

This message was edited 1 time. Last update was at 22/09/2009 10:46:32

[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 777
Offline

Mas como eu posso fazer esse SELECT tb?
Será que alguém poderia me dar uma ajuda?

[]'s.
[MSN]
enantiomero
JavaEvangelist

Membro desde: 23/04/2008 09:44:26
Mensagens: 304
Offline

Using AUTO_INCREMENT keys with Connector/J 3.0

Dá a impressão que você fez as coisas certo (exceto pelo fato de você não testar o "next"). Mas dê uma lida no artigo acima.
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

Da uma olhada:
http://www.google.com.br/search?q=mysql+get+last+id&ie=utf-8&oe=utf-8&aq=t&rlz=1R1GGGL_pt-BR___BR345&client=firefox-a

o primeiro link explica, o terceiro tem um exemplo de uso.

[]´s

João Bier
Desenvolvedor Java
[Email]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 777
Offline

Olá enantiomero e jgbt,
obrigado pela ajuda mas
pelo jeito eu não estou conseguindo,
já fiz várias alterações aqui
com o material que vc's me passaram
mas agora apareceu um NullPointerException
e não sei aonde está o problema
o código depois da alteração
que vc's me falaram ficou assim:



Estou precisando de ajuda
não estou mesmo conseguindo resolver este problema.
Por favor pessoal.
[]'s.
[MSN]
a.moraissoares
JavaChild
[Avatar]

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

Faaaaaaala Ricardo! hahah
Quem diria, colegas de sala topando no fórum. Maaaasssa!

Aqui, cola pra gente onde está dando o NullPointerException. Em qual linha que está ocorrendo o Null, sacou?

Como chute, nessa parte do código aqui,

pelo menos eu não vi se vc criou a conexão.
Se você não tiver feito algo do tipo
Pode ser aí que está dando o Null.

Abração cara, e boa sorte.

This message was edited 2 times. Last update was at 22/09/2009 14:36:56

ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 777
Offline

Falaaa Anderson,
Tudo tranquilo?
q legal msm. =D

Eu criei uma conexão sim Anderson no construtor
da minha classe.

A linha onde está ocorrendo o
NullPointerException é nessa linha:



Na realidade eu não sei muito bem como
usar o comando SQL SELECT LAST_INSERT_ID() direito
é a primeira vez que eu estou usando ele.

Mas valeu Anderson,
Obrigado pela ajuda.

Abração.
[MSN]
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

Vc mesmo ja respondeu sua pergunta:


seu Statement não esta sendo criado em nenhum lugar.

[]´s

João Bier
Desenvolvedor Java
[Email]
a.moraissoares
JavaChild
[Avatar]

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

Ooopa. Ó eu denovo.

Que tal algo do tipo:



Eu testei num banco meu aqui, e deu certinho.

E quanto ao que o jgbt falou. Da mesma forma que achei que você não tinha instanciado sua conexão, eu não vi no código que você postou acima, nos ultimos posts, se você instanciou o Statement.

acho que você apagou isso sem querer do seu código,


pois no código do início do post vc instanciou, e no código q postou por último, não tava instanciado.

OUTRO EDIT: No lugar do stmt, não seria ps ?


Se continuar o erro, posta aqui a saida do stackTrace.

Falou!!!

This message was edited 3 times. Last update was at 22/09/2009 15:05:49

Flavio Luiz
JavaChild
[Avatar]

Membro desde: 11/07/2008 07:37:25
Mensagens: 118
Localização: Araraquara - SP
Offline

Velho você não esta tendo esse erro ?


pois se estiver, troca o seu driver pois ele esta bugado...



OCPJP - Oracle Certified Programmer for the Java 2 Platform, SE 6.0.
OCPJWCD - Oracle Certified Professional, Java EE 5 Web Component Developer
OCEEJBD - Oracle Certified Expert, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer

Bacharel em Engenharia de Computação - UNIARA
Mestrado em Ciências de Computação e Matemática Computacional - ICMC / USP

[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team