Ajuda com consulta no sql server

Estou tentando retornar o ultimo codigo cadastrado na tabela funcionario. So que não esta dando certo. Usei um metodo que faz a busca para eu setar no formulario mas esta dando erro, se alguem puder me ajudar…
o Codigo do metodo.
public void retornaCodigoFunc(){
PFuncionario funcionario = new PFuncionario();
BancoDados conexao = new BancoDados();
ResultSet rsFuncionario = conexao.Consultar(funcionario.retornarCodigo());
try{
if(rsFuncionario.next()){ //aqui ele entra no if, ai ele vai atribuir na variavel CodigoFunc e vai o catch…
CodigoFunc = rsFuncionario.getInt(“CODFUNCIONARIO”);
jtxtCodigo.setText(String.valueOf(CodigoFunc));
}
} catch(SQLException ex){
JOptionPane.showMessageDialog(null," Erro ao buscar codigo funcionario…",“ATENÇÃO!”,JOptionPane.PLAIN_MESSAGE);
}
}

chamo esse metodo logo abaixo de salvar o registro no banco detro do try
//salvando o registro…
PFuncionario func = new PFuncionario();
func.receberParametroFuncionario(…,cep,fone,email,cpf,identidade,dataNascimento,opcaoFuncional);
func.incluir(cad);
retornaCodigoFunc(); //chamo o metodo buscar o ultimo codigo que acabou de ser cadastrado…
}

      catch(Exception ex){
          JOptionPane.showMessageDialog(null,"Erro ao tentar efetuar o cadastro...","Funcionário",JOptionPane.PLAIN_MESSAGE);
      }

use a clausula MAX do SQL :

select MAX(campoCodigo) from tabelaFuncionarios

e grave o resultado em algum atributo da classe.

qquer coisa, faz outro post.

[]’ Luis Cesar

[quote=luiscesarinfo]use a clausula MAX do SQL :

select MAX(campoCodigo) from tabelaFuncionarios

e grave o resultado em algum atributo da classe.

qquer coisa, faz outro post.

Luis Cesar quando eu chamei o metodo retornaCodigo ele tem essa linha de codigo.

public String retornaCodigo(){ //esse é o metodo ele ja existe
String Codigo = “SELECT MAX(CODFUNCIONARIO) FROM FUNCIONARIO”);
returne Codigo;
}
ResultSet rsFuncionario = conexao.Consultar(funcionario.retornarCodigo()); //qdo eu chamo ele aqui vai tudo beleza, mas…
try{
if(rsFuncionario.next()){ //aqui ele entra no if, ai ele vai atribuir na variavel CodigoFunc e vai o catch…
CodigoFunc = rsFuncionario.getInt(“CODFUNCIONARIO”); //chega nessa linha pula pro catch
jtxtCodigo.setText(String.valueOf(CodigoFunc));
}

alguma coisa ta errada e não consigo descubrir. desculpe por dar trabalho to começando agora e ainda sou cru em java…
mas muito obrigado por tentar me ajudar…

esse é o metodo, da erro quando cai na condicao if(rs

Qual é o tipo do atributo CodigoFunc que recebe o resultado da consulta ( rsFuncionario.getInt(“CODFUNCIONARIO”); ) ?

outra coisa esse (“CODFUNCIONARIO”) é o seu campo do banco de dados ?

se for faça assim :

String Codigo = "SELECT MAX(CODFUNCIONARIO) AS ultimoCodigo FROM FUNCIONARIO"); 
.
.
.
CodigoFunc = rsFuncionario.getInt(ultimoCodigo); //CodigoFunc tem que ser do tipo int

tenta isso ai… acho q assim deve funcionar.

[]'s Luis Cesar

:smiley: :smiley: :smiley: Agora deu certo, exatamente o que eu queria, muito obrigado.

[quote=luiscesarinfo]Qual é o tipo do atributo CodigoFunc que recebe o resultado da consulta ( rsFuncionario.getInt(“CODFUNCIONARIO”); ) ?

outra coisa esse (“CODFUNCIONARIO”) é o seu campo do banco de dados ?

se for faça assim :

String Codigo = "SELECT MAX(CODFUNCIONARIO) AS ultimoCodigo FROM FUNCIONARIO"); 
.
.
.
CodigoFunc = rsFuncionario.getInt(ultimoCodigo); //CodigoFunc tem que ser do tipo int

tenta isso ai… acho q assim deve funcionar.

[]'s Luis Cesar[/quote]