Login en power builder

Man hace poco te hice una pregunta sobre como hacer un login me dijiste que lo haga con un datastore y si me sirvió me salio todo bien pero ahora quiero implementarle algo a ese login lo que quiero hacer es que cuando entre a través del login me salga un messagebox diciendo Bienvenido + el nombre del empleado según el cod_emple que aia puesto, te explico
Tengo una tabla usuario con los campos (cod_emple, password) y otra tabla empleados con los campos (cod_emple, nombre, cargo)
Tablas
[usuario]
cod_emple    password
E001 12345
E002 75395
--------------------------------
Tabla empleados
[empleados]
cod_emple    nombre       cargo
E001 Maria secretaria
E002 Juan administrador
-----------------------------------------------
Como te decia kiero q cuando entre al login me vote un messagebox diciendo bienvenido + el nombre del empleado
Osea si el empleado pone en el login
cod_emple :  E001
Password: 12345
Debe salir un messagebox diciendo Bienvenido MARÍA
y
si pone
cod_emple:E002
password:75395
debe salir un messagebox diciendo Bienvenido JUAN
Mi ventana login tienes 2 cajas de texto
usuario:      [sle_1]
contraseña:   [sle_2]
[aceptar] [cancelar]
* Y  verificar si el cod_emple existe
*Y si se ekivoca 3 veces al escribir la contraseña que se cierre la ventana del login osea q lo vote de aplicacion
Bueno man espero que me puedas ayudar ...

1 respuesta

Respuesta
1
Primero tienes que crear un objeto datawindows usando las dos tablas (relacionadas: Usuarios y Empleados) Colocar los campos: cod_emple, password, nombre. Creamos un argumento de tipo string para el cod_emple. Lo guardamos con el nombre dwo_login.
Pasamos al Código: Botón Iniciar Sesión (Evento Clicked)
// Declaramos las variables
DataStore lds_login
String ls_password, ls_nombre
// Declaramos una variable de Instancia
Integer ii_error
// Instaciamos el Objeto DataStore
lds_login = Create DataStore
// Adjuntamos el objeto dwo_login que creamos
lds_login.DataObject = "dwo_login"
// Transaccion
lds_login.SetTransObject( SQLCA)
// Hacemos el Retrieve, ingresando el paramero cod_emple, que seria nuestro sle_1
lds_login.Retrieve( UPPER( sle_1.Text))
// Verificamos el codigo ingresado si existe
If lds_login.RowCount( ) > 0 Then
   // Almacenamos el campo password y nombre en sus respectivas variables
   ls_password = lds_login.GetItemString( 1, "usuarios_password")
   ls_nombre = lds_login.GetItemString( 1, "empleados_nombre")
   // Ahora verificamos la Contraseña
   If ls_password = sle_2.Text Then
      // Mostramos el Mensaje de Bienvenida y agregamos el nombre del usuario
      MessageBox("MENSAJE", "Bienvenido " + ls_nombre)
   Else
      // De caso contrario, si la contraseña es erronea
      MessageBox("ERROR", "La contraseña no coincide", StopSign!)
      // Aumentamos el contador de error que es la variable de instancia
      ii_error++
   End If
Else
   // Ahora de caso contrario el codigo sea erroneo, lo mostramos en mensaje
   MessageBox("ERROR", "El codigo de usuario es incorrecto", StopSign!)
   // Aumentamos el contador de error que es la variable de instancia
   ii_error++
End If
// Si nuestro contador llega a tres, que serian tresn intentos de login erroneos
If ii_error >= 3 Then
   // Mostraremos un mensaje
   MessageBox("Mensaje", "Limite de Intentos", StopSign!)
   // Cerramos toda la aplicacion
   Halt Close
End If
Recuerda que los campos usuarios_password y empleados_nombre que los puse en negrita en el código de arriba, son los nombres de los campos del datawindows, de repente tu los tienes diferentes.
Bueno eso seria todo, si tienes más dudas hasmelas saber.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas