Java - Validar tipo de Usuario de una Tabla Recursiva

 
Vista:

Validar tipo de Usuario de una Tabla Recursiva

Publicado por José Ramírez (4 intervenciones) el 27/10/2011 14:44:52
Buenas que tal. Se que suena algo confuso pero les explicaré mejor lo que trato de hacer en Java y no he podido durante ya 2 días, buscando y buscando y el IDE tampoco me ayuda a encontrarlo.

En PHP si es fácil hacerlo por su sintaxis, lo noto muy fácil al ver ejemplos, pero no hallo como hacerlo en Java con Swing para mi tésis.

El caso es que yo poseo 1 tabla, llamada: "Alumnos".

Sólo se pueden registrar Alumnos, es decir, todo usuario que se registre, será sólo alumnos. No habrá niveles, sólo existe 1. El Administrador de toda la aplicación.

El Administrador no se registra, ya está registrador por defecto, y para ésto, hice a la Tabla Alumnos recursiva.

Es decir, un Alumno que puede mandar a los demás alumnos.

La cuestión o el problema que poseo, es que yo pueda validar si es el Administrador el que inicie nada más, o cualquier tipo de alumno.

Es decir, si el usuario es el Administrador, le mandaré una ventana, sino, envío la ventana predeterminada, que en éste caso es a cualquier otro usuario.

Tabla Alumnos:

Cod_User (Clave Primaria)
Cod_Padre (Relación interna) = Se crea la recursividad.
Nombre
Apellido
Usuario (Clave única)
Contraseña
Sección

Los usuarios comienzan así:
Cod_User = 1, 2, 3, 4, 5.
Cod_Padre= 1, 0, 0, 0, 0.

El Cod_Padre = 1, es el único que es diferente, en éste caso "Administrador" de los demás.

Los demás, son los Alumnos.

El detalle está en "Como validar" que si el "User_Padre", es 1, me tire la ventana de la Administración, sino, la otra predeterminada.

No consigo validar el campo, o no hallo la sintaxis correcta.

Aquí mi código:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
private void botonIngresarActionPerformed(java.awt.event.ActionEvent evt) {
 
    /************* Aquí se crea el objeto o se instancia la Base de Datos ***************/
 
    BDSoftEdu MySQL = new BDSoftEdu();
    Connection Con = MySQL.Conectar();
 
    /******************************************************************************************************/
 
 
    /************* Aquí se crea el objeto o se instancia el Frame o Ventana del Administrador (Principal) ***************/
 
    Admin TablaDeAlumnos = new Admin();
    Contenido FrameCont = new Contenido();
 
    /******************************************************************************************************/
 
 
    String UserSQL = txtUsuario.getText();
    String ContraSQL = String.valueOf(txtContra.getText());
 
 
 
    /************* Crea o Intenta la conexión MySQL - Sentencia ***************/
 
    if (Con != null) {
 
    try {
 
        Statement Tabla= Con.createStatement();
        String SentenciaSQL = "SELECT * FROM Alumno WHERE Usuario='"+UserSQL+"' and Contraseña='"+ContraSQL+"'; ";
        ResultSet RS=Tabla.executeQuery(SentenciaSQL);
 
 
    /******************************************************************************************************/
 
    int x=0;
 
 
    while(RS.next()){
        JOptionPane.showMessageDialog(null,"¡Acceso satisfactorio!");
        x++;
        FrameCont.setVisible(true);
        dispose();
 
    }
 
 
 
 
 
    if(x==0) {
 
    /************* Si Los campos son incorrectos o da 0. Envía el mensaje de error ***************/
 
        JOptionPane.showMessageDialog(null,"¡Error en datos de Usuario! Verifique los datos","Error", JOptionPane.WARNING_MESSAGE);
        etqAsterisco1.setVisible(true);
        etqAsterisco2.setVisible(true);
        }
 
 
    /******************************************************************************************************/
 
    }
        catch (SQLException ex) {
        }
 
    }
 
    }


Ésto es el evento del botón "Ingresar".

No se si tenga que ejecutar otro Query, pero se coloca lento al recorrer 2 Querys.

Creo que al recorrer un Query, puedo ya a empezar a validar sus campos adentro. Pero ¿Cómo se podría hacer en Java?

¿Cómo podría hacer que el "User_Padre" si es igual a 1, o sea igual a 0, haga o lanze tal ventana?

En la red no consigo tanta documentación de Java.

Lo vi en PHP y puedo validar los campos con Corchetes pero me da error en Java.

Bueno, espero las respuestas de ustedes. De verdad, soy un iniciado de Java y pués, no manipulo la aplicación al 100%, pero toda la aplicación lo estaba haciendo aprendiendo por mi mismo. Gracias. Saludos!
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

Validar tipo de Usuario de una Tabla Recursiva

Publicado por Julio (1 intervención) el 27/10/2011 17:12:51
Hola por lo que entiendo que deberias realizar es lo siguiente :

while(RS.next())
{
JOptionPane.showMessageDialog(null,"¡Acceso satisfactorio!");

if(RS.getInt("Cod_Padre") == 0)
{
FrameCont.setVisible(true);
}
else
{
FrameAdministradorsetVisible(true);//Aqui deberia ser el Frame del Administrado
}
dispose();
}
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

Validar tipo de Usuario de una Tabla Recursiva

Publicado por José Ramírez (4 intervenciones) el 28/10/2011 15:15:41
Oye hermano. Esa era la sintaxis que me faltaba. Ahora si funciona.

Me faltó lo del "RS.GetInt", no se me había ocurrido que fuese de tal manera. Ya que así es en PHP, pero en PHP lo noto más fácil, pero igual, no hay mucha diferencia.

Un agradecimiento total. 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