Power Builder - usuario de base de datos

 
Vista:

usuario de base de datos

Publicado por Andres (2 intervenciones) el 01/03/2003 14:16:12
Tengo una tabla en la base de datos en blanco, que se llama usuario y alli voy a ingresar todos los usuarios nuevos, pero necesito saber como desde la aplicacion de power builder yo le digo a la hora de accesar un usuario que me valide que ese usuario que esta ingresando por una ventanita que contiene el login y el password, ese usuario esta en la tabla de la base de datos...Si alguien puede ayudarme, le agradeceria...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:usuario de base de datos

Publicado por eduardo.v (208 intervenciones) el 01/03/2003 21:13:36
Bueno en realidad es muy sencillo. solo tienes que utilizar un select con una variable numerica. Algo asi como esto

string ls_usu_usuario,ls_usu_clave
int li_login

ls_usu_usuario=sle_1.text
ls_usu_clave=sle_2.text

SELECT count(sis_usuario.usu_codigo)
INTO :li_login
FROM sia_usuarios
WHERE ( sis_usuario.usu_alias = :ls_usu_usuario ) AND
( sis_usuario.usu_clave = :ls_usu_clave ) ;

IF li_login >= 1 THEN
//ingresa al sistema
ELSE
//algun mensaje de error
END IF

Espero que te sirva
Saludos desde Peru 'cuna del verdadero pisco'
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

fe de erratas

Publicado por eduardo.v (5 intervenciones) el 01/03/2003 21:17:51
Perdon. en la parte del SQL incrustado debe ir de esta forma:

SELECT count(sis_usuario.usu_codigo)
INTO :li_login
FROM sis_usuario
WHERE ( sis_usuario.usu_alias = :ls_usu_usuario ) AND
( sis_usuario.usu_clave = :ls_usu_clave ) ;

entendiendose que sis_usuario es la tabla donde se encuentran los usuarios. ahora si.... chao!
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

RE:Otra propuesta

Publicado por salvador alanis (56 intervenciones) el 02/03/2003 01:41:15
//supon que tienes una ventana de acceso en donde se encuentra
//em_user, sle_pass, pb_accesar, pb_cancelar

//este codigo va en el evento modified del edit mask em_user
//declaras una variable global string para almacenar al usuario
if trim ( this.text ) <> '' then
gs_user = trim ( this.text )
//este es el single line edit donde se proporcionara el password
sle_pass.text = ''
end if

//este codigo iria en evento clicked del boton para accesar al sistema
integer li_counter
string ls_password

if trim ( em_user.text ) = '' then
messagebox ( 'Information', 'El Usuario es informacion requerida' )
em_user.SetFocus()
return
else
if trim ( sle_pass.text ) = '' then
messagebox ( 'Information', 'El Password es informacion requerida' )
sle_pass.SetFocus()
return
end if
end if

//esto te puede servir en caso de que un usuario dentro del sistema se
//encargue de dar de alta otros usuarios
//en este caso yo le llamo admin, tanto para usuario como
//para password
if trim ( em_user.text ) = 'admin' then
if trim ( sle_pass.text ) <> 'admin' then
messagebox ( 'ERROR DE ACCESO', 'El password para el
administrador es incorrecto, por favor revise',
stopsign! )
sle_pass.SetFocus()
return
else
open ( w_main )
//dado que es el administrador le habilito la opcion del menu, donde
/
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

RE:Otra propuesta, continua->

Publicado por salvador alanis (56 intervenciones) el 02/03/2003 01:46:06
//dado que es el administrador le habilito la opcion del menu, donde
//se encuentra el catalogo de usuarios
m_menu.m_administration.enabled = true
w_main.title = 'Specialty Adhesives, Bienvenido Administrador'
close ( parent )
return
end if
end if

//el usuario que ha ingresado no es el administrador del sistema
select count ( use_name )
into :li_counter
from users
where use_name = :gs_user
using sqlca;

if sqlca.sqlcode = -1 then
messagebox ( 'ERROR', 'Un error ha ocurrido al tratar de verificar la
informacion del Usuario.~r~n' + sqlca.sqlerrtext, stopsign! )
close ( parent )
else
if li_counter = 1 then
select use_password
into :ls_password
from users
where use_name = :gs_user
using sqlca;

if ls_password = lower ( trim ( sle_pass.text ) ) then
open ( w_main )
//le deshabilito la opcion de la admimistracion de usuarios
//dado que no ha entrado como administrador
m_menu.m_administration.enabled = false
w_main.title = 'Specialty Adhesives, Bienvenido ' + gs_user
close ( parent )
else
messagebox ( 'ERROR DE ACCESO', 'El Password para ' +
gs_user + ' es invalido, por favor revise', stopsign! )
sle_pass.SetFocus()
return
end if
else
m
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

RE:Otra propuesta, continua->

Publicado por salvador alanis (56 intervenciones) el 02/03/2003 01:50:39
messagebox ( 'ERROR DE ACCESO', 'El Usuario ' +
trim ( em_user.text ) + ' es invalido, por favor revise', stopsign! )
em_user.SetFocus()
return
end if
end if

Espero que te de una idea y disculpa tantos "continua->", pero la respuesta era truncada al momento de enviarla
Salu2!
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