Retornar ultimo valor da coluna do BD

Ae pessoal
uma duvida…
to tentando fazer com que o meu codigo busque na coluna Cod o ultimo valor… para eu ir adicionar nessa mesma coluna Cod um numero crescente para cada usuario
alguem pode me da uma ajuda? =\

[code] private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Class.forName( DRIVER );
Connection con = DriverManager.getConnection( PATH, LOGIN, SENHA );
Statement stmt = con.createStatement( );

            if(jRadioButtonMasculino.isSelected() == true){
             Sexo = "Masculino";
            }
            else Sexo = "Feminino";

            String consultaCod = "SELECT MAX(\"Cod\") FROM \"Alunos1\"; ";
            int contador = Integer.parseInt(consultaCod);
            contador++;
            String query = "INSERT INTO \"Alunos1\" VALUES("
                + "'"+contador+"'"
                + ",'"+jTextFieldNomeCliente.getText()+"'"
                + ",'"+jTextFieldMatricula.getText()+"'"
                + ",'"+jTextFieldNascimento.getText() +"'"
                + ",'"+jTextFieldRG.getText() +"'"
                + ",'"+jTextFieldCPF.getText() +"'"   
                + ",'"+Sexo+"'"
                + ",'"+jTextFieldCEP.getText() +"'"
                + ",'"+jTextFieldLogradouro.getText() +"'"
                + ",'"+jTextFieldComplemento.getText() +"'"
                + ",'"+jTextFieldBairro.getText() +"'"
                + ",'"+jTextFieldCidade.getText() +"'"
                + ",'"+jComboBoxUF.getSelectedIndex() +"');";
        System.out.println( query );
        stmt.executeUpdate( query );
        ResultSet rs = stmt.executeQuery( consultaCod );
        while ( rs.next() ) {                
            codigo.add( rs.getString( 1 ) );               
            String saida = "";
            for ( int i = 1; i <= 1; i++ ) {
                saida = saida + rs.getString( i );
                if ( i < 1 ) saida += "\t";
            }
            System.out.println( saida );
        }

        stmt.close( );
        con.close( );

        }
        catch(SQLException e ){
        javax.swing.JOptionPane.showMessageDialog( null, "ERROR: " + e.getMessage(),
            "SQLException", javax.swing.JOptionPane.WARNING_MESSAGE );
        }
        catch(ClassNotFoundException e){
        javax.swing.JOptionPane.showMessageDialog( null, "UNREPORTED ERROR: " + e.getMessage(),
            "Unreported Exception", javax.swing.JOptionPane.WARNING_MESSAGE );
        }
} [/code]

E outra… digamos eu faca o meu primeiro cadastro… quando ele for consultado la na coluna Cod… ele retornaria 0? ou null?

Troque as aspas duplas pelas simples "select max('cod') from..."

Botei aspas simples e deu erro…

Minha bola de cristal não está funcionando hoje, está nublado aqui.

QUAL É O ERRO?

Exception occurred during event dispatching: java.lang.NumberFormatException: For input string: "SELECT MAX('Cod') FROM "Alunos1"; " at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:449) at java.lang.Integer.parseInt(Integer.java:499) at projetobiblioteca.CadUsuario1.jButton1ActionPerformed(CadUsuario1.java:356) at projetobiblioteca.CadUsuario1.access$000(CadUsuario1.java:29) at projetobiblioteca.CadUsuario1$1.actionPerformed(CadUsuario1.java:132) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1585) at java.awt.Component.setVisible(Component.java:1537) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at projetobiblioteca.Painel.jButtonNovoUsuarioActionPerformed(Painel.java:462) at projetobiblioteca.Painel.access$200(Painel.java:24) at projetobiblioteca.Painel$3.actionPerformed(Painel.java:193) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Você não precisa de aspas duplas em alunos1, caso esta seja a tabela.

"select max('cod') from alunos1";

Três coisas. O erro está em:


  String consultaCod = "SELECT MAX(\"Cod\") FROM \"Alunos1\"; ";  
  int contador = Integer.parseInt(consultaCod);

Aqui você tenta converter sua query em um inteiro… não sei o motivo…

Segundo, o select mais certo seria:

SELECT MAX(Cod) FROM Alunos1

Já que Cod é nome de uma coluna e Alunos1 nome de tabela/view … Vocẽ não precisa de string
Em alguns bancos, no entanto, a query original funcionaria… Eles aceitam aspas duplas para identificar campos

Terceiro: não use essa fórmula de SELECT, INSERT para gerar o código da aplicação…
Isso pode gerar erro quando houver acesso concorrente.

drsmchado, eu tirando as aspas duplas do alunos1 ele nao funciona…
uma vez me falaram q depende do banco de dados que se utiliza e talvez mudaria a sintaxe…
alguns funciona com aspas simples outras so com aspas duplas… to usando o postgre

mas tirando um pouco de lado as apas… o resto do codigo… estaria certo? ou alguma coisa a mais para modificar
abraco

Só agora percebi…
O erro retornado informa que a conversão da String

"SELECT MAX('Cod') FROM "Alunos1"; " 

em número falhou.
Por que?
Você chama um Integer.parse e passa como parâmetro essa String.

Primeiro você precisa ir ao banco (executar a query) e recuperar o valor na String (por que não direto o ResultSet.getInt???)

nao entendi exatamente como fazer isso… poderia me da um exemplo?

Acesse www.google.com.br
Digite select com java
Pressione enter…

Você está confundindo a String que irá fazer a consulta com a própria consulta.