Como fazer para mostrar o ID em uma JTextField, quando este ID é auto-incrementado?  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
Jackye
JavaTeenager
[Avatar]

Membro desde: 19/10/2011 19:24:31
Mensagens: 186
Localização: João Câmara/RN
Offline

Olá!!
Estou fazendo uns testes antes de dar continuidade ao projeto final de curso.
Bem, minha dúvida é como fazer o código aparecer na JTextField, sendo que este ID é auto-incrementado.
Alguém pode me ajudar? Eu uso netbeans 7.0, hibernate e SQL Server 2008.

Jakeline Clementino
[Email] [Yahoo!] [MSN]
leocantanhede
JavaChild
[Avatar]

Membro desde: 26/09/2009 23:01:04
Mensagens: 115
Localização: Nilópolis - Rio de Janeiro
Offline

Basta você ao realizar a consulta no banco de dados, trazer além dos valores desejados o ID também, ai no campo JTextField você irá passar como valor o id da consulta, lembrando que seria bom você deixar esta campo de forma a não poder sofrer alteração.







drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

O id deve aparecer antes ou após a inserção?
Se for depois, o próprio hibernate associa o ID ao objeto que está persistindo (e que acaba de ser tratado).

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
Jackye
JavaTeenager
[Avatar]

Membro desde: 19/10/2011 19:24:31
Mensagens: 186
Localização: João Câmara/RN
Offline

Olá, drsmachado e leocantanhede.

Eu quero que o ID apareça assim que eu abrir a janela de cadastro, ou seja, antes de acionar o evento salvar. Há essa possibilidade?
Dessa maneira eu sei quantos livros já foram cadastrados. E também, na hora de cadastrar o exemplar ele pegar o código da Obra que tá sendo cadastrada.
Como faço isso?
Está anexo o print da telinha de cadastro de obras. (Algo bem simplees! Rsrsrsrsrsr...)

Aguardo mais respostas.
beijos!
[Thumb - TelaDeCadastro.png]
 Nome do arquivo TelaDeCadastro.png [Disk] Download
 Descrição Tela de Cadastro de Obras
 Tamanho 138 Kbytes
 Baixado:  10 vez(es)


Jakeline Clementino
[Email] [Yahoo!] [MSN]
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Hum.
Neste sentido, será preciso fazer uma consulta ao banco de dados, selecionando o último inserido e, obtendo o ID deste, somar mais 1, que será o ID do novo objeto.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
Jackye
JavaTeenager
[Avatar]

Membro desde: 19/10/2011 19:24:31
Mensagens: 186
Localização: João Câmara/RN
Offline

Oi, drsmachado.

Como faço isso?
É preciso popular o JTextField?

Jakeline Clementino
[Email] [Yahoo!] [MSN]
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Existe um método que carrega o JFrame, certo?
Assim sendo, você deve inserir uma rotina que faça a consulta pelo maior ID da tabela relativa ao tipo de objeto que será inserido.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
alandiniz
JavaEvangelist
[Avatar]

Membro desde: 14/03/2010 20:06:59
Mensagens: 315
Localização: Cianorte
Online

essa é uma boa pergunta... pois se o ID é gerado automaticamente em sequencia pelo banco de dados, então na hora de inserir um novo registro você não vai saber qual é o próximo ID.

Existe uma forma que é bem POG, que seria fazer um sql na mão pesquisando no banco qual o maior ID e retornar adicionando 1...

ultimoId + 1 = idASerGerado

O problema disso ai é que se alguem abrir a tela depois de você e gravar primeiro, então quando vc for gravar vai da erro, falando que o ID já existe!...

[Email] [WWW] [MSN]
Jackye
JavaTeenager
[Avatar]

Membro desde: 19/10/2011 19:24:31
Mensagens: 186
Localização: João Câmara/RN
Offline

Então, alandiniz, posso retornar numa janela o valor do ID do livro cadastrado?

Jakeline Clementino
[Email] [Yahoo!] [MSN]
Jackye
JavaTeenager
[Avatar]

Membro desde: 19/10/2011 19:24:31
Mensagens: 186
Localização: João Câmara/RN
Offline

Olá gente! Eu tentei fazer da seguinte maneira:

Alguem pode me dar uma luz? Rsrsrsrsrs...

Jakeline Clementino
[Email] [Yahoo!] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Com essa estratégia, ficaria dificilimo deixar esse sitema ser usado por 2 pessoas.
Perceba que duas pessoas, cadastrando um livro ao mesmo tempo, veriam o mesmo id.

Para obter um ID recém cadastrado, não é necessário rodar uma segunda consulta no banco de dados, pois o Hibernate faz isso sozinho.
Mesmo no JDBC também, também seria possível usar o método getGeneratedKeys().

This message was edited 1 time. Last update was at 02/02/2012 22:42:49


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Jackye
JavaTeenager
[Avatar]

Membro desde: 19/10/2011 19:24:31
Mensagens: 186
Localização: João Câmara/RN
Offline

Oi ViniGodoy, tem certeza quando diz que:
Com essa estratégia, ficaria dificilimo deixar esse sitema ser usado por 2 pessoas.
Perceba que duas pessoas, cadastrando um livro ao mesmo tempo, veriam o mesmo id.


Então como faço pra preencher o JtextField quando quero buscar no banco e preencher na tela para atualização de dados?


No InitComponets tento chamar o metodo mas ele fica assim:

E me retorna no jtextfield 0.

Jakeline Clementino
[Email] [Yahoo!] [MSN]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team