MySQL - Result Set y Java...

 
Vista:

Result Set y Java...

Publicado por sequelin (2 intervenciones) el 15/05/2006 18:25:20
Tengo un problema al manejar un ResultSet en mysql, no sé si será un problema de exceso de campos o algo así... Pego el método, a ver si a alguien se le ocurre q puede estar pasando...:(

public int muestraAlumno(String usuario,String contrasenia) throws java.sql.SQLException
{
int valido;
// Conectar con la BD
String URL_bd = "jdbc:mysql://localhost/instituto";
System.out.println(usuario);
System.out.println(contrasenia);
conexion = java.sql.DriverManager.getConnection( URL_bd, usuario, contrasenia);
// Crear una sentencia SQL
sentenciaSQL = conexion.createStatement(
java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
java.sql.ResultSet.CONCUR_UPDATABLE);

formateaAlumno formatea = new formateaAlumno();
formatea.muestraAlumno(1);

ResultSet res = sentenciaSQL.executeQuery(formatea.get_query_final());


System.out.println("\nNOMBRE APELLIDOS ID DIR\t CURSO LETRA\n");

res.beforeFirst();
System.out.println("RES:"+res.next());

while(res.next())
{
int id = res.getInt("id");
String nombre = res.getString("nombre");
String apellidos = res.getString("apellidos");
String dir= res.getString("dir");
String localidad = res.getString("localidad");
String provincia = res.getString("provincia");
String telefono = res.getString("telefono");
String tutor = res.getString("tutor");
int curso_actual = res.getInt("curso_actual");
String fecha_nac = res.getString("fecha_nac");
String dni = res.getString("dni");
int grupo= res.getInt("grupo");
String cp = res.getString("cp");

System.out.println(nombre+" "+apellidos+" \t "+ id+ dir+"\t"+curso_actual+" "+" "+grupo);
}

res.close();
sentenciaSQL.close();
conexion.close();

valido=1;

return(valido);
}

La cuestión es q imprime la "cabecera" de la tabla, o sea, la frase suelta, pero luego no imprime ningún campo... La misma query desde la consola de mysql me muestra un alumno sin problemas... Q puedo estar haciendo mal??? Con una tabla cn menos campos el mismo método funciona perfectamente...:( Nun sé q puede estar pasandoooooooooo!!!

Muchas gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Result Set y Java...

Publicado por sequelin (2 intervenciones) el 15/05/2006 21:16:03
Al final de la tarde, he descubierto dnd sta el problema.Pongo akí la sol x si alguien la necesitara :P

Cuando hay demasiados campos a los q acceder, mejor poner los índices q los nombres de los campos, es ddecir, mi bucle while quedaría de la siguiente manera:

System.out.println("\nNOMBRE APELLIDOS ID DIRECCION CURSO LETRA\n");


while(res.next())
{
int id = res.getInt(1);
String nombre = res.getString(2);
String apellidos = res.getString(3);
String dir= res.getString(4);
String localidad = res.getString(5);
String provincia = res.getString(6);
String telefono = res.getString(7);
String tutor = res.getString(8);
int curso_actual = res.getInt(9);
String fecha_nac = res.getString(10);
String dni = res.getString(11);
int grupo= res.getInt(12);
String cp = res.getString(13);



System.out.println(nombre+" "+apellidos+" \t "+ id+" "+ dir+"\t"+curso_actual+" "+" "+grupo);
}

Mushas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Matias

RE:Result Set y Java...

Publicado por Matias (1 intervención) el 18/07/2012 16:30:49
hola... se que el tema es viejo pero comento igual por si ayuda a alguien..

primero, pusiste el codigo nuevo pero no dijiste cual era el error en el codigo anterior.. y el error es que cuando hiciste el System.out.println(res.next()) //metodo que devuelve un booleano si hay un elemento siguiente... y aparte de eso, pasa al siguiene elemento..

cuando haces... while(res.next()) vuelve a realizar las mismas tareas y ya o tienes elementos ya que vos cometaste que la consulta devuelve una sola row....

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar