select max en prepareStatement

isabel
01 de Marzo del 2004
Hola, a ver si alguien me puede echar una mano porque no sé por qué no me funciona lo siguiente(JDBC y SQL server).
Estoy intentando buscar el máximo código (Id) de una tabla y lo hago así:

PreparedStatement pstmt = null;
int NMaxima=0;
ResultSet rs=null;
try {
pstmt = con.PrepareStatement("select MAX(Id) FROM tabla WHERE NAlu = ? ");
pstmt.SetInt(1, nalumno);
rs = pstmt.ExecuteQuery();
if (rs.next()) {
rs.getInt(NMaxima);
}
catch (SQLException e) {
System.out.println("error");
}
La sentencia siempre entra por la exception e imprime que hay error. ¿que estoy haciendo mal? a ver si me podéis echar una mano,
muchas gracias.

Ken
01 de Marzo del 2004
Estás utilizando el método getInt de ResultSet mal. Al método le tienes que pasar como parámetro el nombre de la columna que quieres extraer (o sea, "Id") o el número, si prefieres ordenarlas por número (o sea, 1). Si quieres asignar el valor que recuperas de la base de datos a tu variable NMaxima, debes hacer:
NMaxima = rs.getInt ("Id");
ó
NMaxima = rs.getInt (1);

Ya nos contarás

Salu2

Ken