Olá! tenho um método na minha aplicação que deve retornar um valor Auto_increment gerado no banco que é setado como texto dentro de um JTextField
O meu código ficou assim
publicvoidrecuperarDadosEmCampo()throwsClassNotFoundException,SQLException,InstantiationException,IllegalAccessException{Connectionc=newConexao().conectarAFonteDeDados();Stringsql="select max(codigo)+1 from participante";PreparedStatementstm=c.prepareStatement(sql);ResultSetrs=stm.executeQuery();while(rs.next()){InsereSimples.txtAutoIncrement.setText(String.valueOf(rs.getInt("codigo")));}rs.close();stm.close();c.close();}
Porém ele não está retornando nada... alguém tem uma idéia de como pegar e esse valor e jogar num JTextField? Obrigado!!! :)
Obs.: esse textfield nao estará editavel pelo usuário!
1º: Tu pode trocar o while pelo if pois somente um resultado vai retornar…
2º: Tu pode utilizar sequence pra isso…
3º: Pelo que vi vc está buscando por uma coluna “codigo” mas a tua sql retorna uma coluna sem nome… ou você poderia dar um nome para o valor na sql:
e aí sim vc pode chamar
ou então
4º: Caso não queira dar nome pra coluna basta utilizar este último código acima…
erico_kl
ah… lembrando que se você auto-incrementa via sequence na hora da gravação, nem sempre o próximo registro no banco será o retorno desta sql:
pois se vc tiver 3 registros na tua tabela com códigos 1, 2 e 3 e por ventura excluir o terceiro, a sql acima retornará 3 sendo que a sequence está na posição 4…
MarcioProgramador
valeu… eu consegui fazer o que eu queria! O código ficou assim .:
Connection c = new Conexao().conectarAFonteDeDados();
String sql = "select max(codigo) as max_value from participante";
String msg = "";
PreparedStatement stm = c.prepareStatement(sql);
ResultSet rs = stm.executeQuery();
if(rs.next())
msg = String.valueOf(rs.getInt(1));
rs.close();
stm.close();
c.close();
return msg;
tive só que criar uma variavel String para setar o valor recuperado no textfield, ao invés de colocar o valor direto acessando o textfield, e depois a retornar!
R
roboladissimo
Olá amigos!!
Eu tbm estou tentando fazer o mesmo, recuperar um dado que está no banco e mostra-lo dentro de um JTextField. Mas eu estou trabalhando com JPA.
Tenha uma tabela no banco com alguma colunas e a primeira delas é um Id. Quero na minha aplicação, digitar um Id e consultar se existe no banco aquele Id. Se existe quero listar nos JTextFields todas as informações do produto referente aquele Id encontrado.
Informações:
Tabela no banco: Produto
(Id Long Pk not null,
Referencia varchar (6),
Descrição varchar(30),
Valor decimal (6),
Fornecedor varchar (12))