Problema com um método.. SQL

Olá amigos, estou com um problema nesse método cuja função é pegar o maior valor contido em uma tabela de nome codigo… A tabela está com auto-numeração… Alguém pode me dar uma força ? Ele sempre retorna o valor “-1”, valor iniciar de “max”… Abraço pra voces

[code]
public int getMaxNumero() {
String clausula = “select max (codigo) from oficina”;

    int max = -1;

    try {
        pstmt = con.prepareStatement(clausula);
        rs = pstmt.executeQuery();
        
        if (rs.next()) {
            max = rs.getInt("codigo");
        }
        pstmt.close();
        con.close();
    } catch (SQLException err) {
        err.getMessage();
    }
    return max;
}[/code]

Nao esta funcionando da maneira esperada pq o codigo esta dando erro ao rodar e vc esta otimindo a mensagem de erro. Ao inves de fazer

} catch (SQLException err) {
             err.getMessage();
         }

faca

} catch (SQLException err) {
            err.printStackTrace();
         }

e ai vc vai ver que a msg de erro acusa que o campo “codigo” nao existe, ja que voce fez “max(codigo)” ao inves de “max(codigo) AS codigo”.

Caso nao queira especificar o alias, um rs.getInt(1) resolve.

Mas mesmo assim, NUNCA omita mensagens de erro.

Rafael

Exato.
O correto seria que fosse relancada a excecao ou registrasse num arquivo de log.
o que foi feito se chama de abafamento de excecoes, e é considerado
uma penalidade grave. rsrsrs…

Engraçado agora tá assim: [Microsoft][Driver ODBC para Microsoft Access] Referência circular causada pelo alias ‘codigo’ na lista SELECT da definição da consulta.

será que ele confundiu o alias com o nome da coluna ?

tente essa query.

select max (codigo) as cod from oficina

An unexpected error has been detected by HotSpot Virtual Machine:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c901010, pid=3148, tid=1792

Java VM: Java HotSpot™ Client VM (1.5.0_02-b09 mixed mode, sharing)

Problematic frame:

C [ntdll.dll+0x1010]

An error report file with more information is saved as hs_err_pid3148.log

If you would like to submit a bug report, please visit:

http://java.sun.com/webapps/bugreport/crash.jsp

Ignore, e tente de novo :slight_smile:

Rafael

Consegui =) o problema era que eu estava fechando a conexão ! aí quando eu queria acessar denovo ela estava fechada ai dava erro ehehe…

valeu a todos que me ajudaram []'s