Java - registro no encontrado

 
Vista:
Imágen de perfil de Violeta
Val: 34
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

registro no encontrado

Publicado por Violeta (16 intervenciones) el 14/05/2017 11:22:49
Buenas.

Estoy haciendo un ejercicio con sql, y me gustaría obterner de alguna forma que no hay registros. Mi código es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
String query1 = "SELECT * FROM alumno WHERE idAlumno= '"+alumno+"'";
String query2 = "SELECT * FROM asignatura WHERE idAsignatura= '"+asignatura+"'";
String query3="SELECT * FROM cursa WHERE idAlumno= '"+alumno+"' and idAsignatura= '"+asignatura+"'";
Statement instruccion1 = conexion.createStatement();
ResultSet resultados1 = instruccion1.executeQuery(query1);
Statement instruccion2 = conexion.createStatement();
ResultSet resultados2 = instruccion2.executeQuery(query2);
Statement instruccion = conexion.createStatement();
ResultSet resultados3 = instruccion.executeQuery(query3);
/*if((resultados1.next()==false) || (resultados2.next()==false)){
JOptionPane.showMessageDialog(null, "Registro no encontrado");
}*/
while (resultados1.next() && resultados2.next() && resultados3.next()) {
JOptionPane.showMessageDialog(null, "La nota del Alumno: "+resultados1.getString("apelAlumno")+" "+resultados1.getString("nombAlumno")+" en la asignatura: "+resultados2.getString("nombAsignatura")+" es "+resultados3.getInt("nota"));
 
}
resultados1.close();
resultados2.close();
resultados3.close();
System.exit(0);

Ya he probado con poner "if" y else, pero no me sale nada, los tengo que quitar para que me salga el mensaje cuando si hay.
Digamos que me lo da como true, pero como no hay registro no sale mensaje... es muy raro...
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
sin imagen de perfil
Val: 87
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

registro no encontrado

Publicado por Tomas (76 intervenciones) el 14/05/2017 21:07:19
Antes que nada, cuando pongas código en un foro, está la opción de formateo, para que se lea mejor.
-Dices: "Ya he probado con poner "if" y else, pero no me sale nada"
El if que muestras está comentado, no sé si ya probaste y lo comentas por algun motivo o que.
- Despues, podrías intentar debugar. No dices si ya lo has intentado o si no sabes hacerlo.
Debugando podrás ver qué es lo que ocurre linea por linea.
- Una opción mejor de control de errores podría ser:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public List<MyObject> findMyObjects(){
    ConnectionMySQL connection = Singleton.getInstanceOfConnectionMySQL();
    PreparedStatement pst = null;
    ArrayList<MyObject> objects=null;
    ResultSet result = null;
    try {
 
			objects= new ArrayList<MyObject>();
			pst = connection.openConnection().prepareStatement(MY_SELECT);
			result = pst.executeQuery();
 
			while (result.next()) {
                               //Ni siquiera haria falta comprobar si hay registros mediantes un if, 
                               //porque el metodo devolverá un array vacio si no hay registros.
                               //En lugar de JOptionPane , comienza usando System.out.println("tu texto" ), 
                               //es mas rápido y más comodo de visualizar para probar el programa
			}
			return objects
 
		} catch (SQLException e) {
			e.printStackTrace();
			JOptionPane.showMessageDialog(null,"Error number: xxxxxx");
                        //aqui podrias poner un sistema de codigo de errores.
                        //Podrias tener String estaticas en alguna clase y las concatenas con otras,
                        //segun el metodo que ejecutes.
		}finally{
                        //Finally SIEMPRE se ejecuta(automaticamente) antes de salir del metodo, antes del return.
                        //Asegurate de cerrar todos los streams de datos.
			 try { if (result != null) result.close(); } catch (Exception e) {};
			 try { if (pst != null) pst.close(); } catch (Exception e) {};
			 try { if (connection != null) connection.closeConnection(); } catch (Exception e) {};
		}
		return null; //a este null nunca deberia llegar. Elbloque  try / catch avisaria en caso de error.
}
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 Violeta
Val: 34
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

registro no encontrado

Publicado por Violeta (16 intervenciones) el 15/05/2017 09:27:53
Es que es un ejercicio con JPanel y me obliga a hacerlo así, con ventana emergente.
Muchas gracias, lo probaré a ver.
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