FoxPro/Visual FoxPro - Error en inicio de sesion con contraseña

 
Vista:
Imágen de perfil de Melisa
Val: 16
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Error en inicio de sesion con contraseña

Publicado por Melisa (8 intervenciones) el 18/12/2018 01:50:53
Hola! espero que me puedan ayudar. Tengo un problema con mi proyecto al iniciar sesion, en mi formulario tengo 2 text box, 3 botones de comando, una base de datos.


Sin-titulo1

Tengo un usuario registrado me deja entrar al sistema con ese usuario y contraseña, si coloco algun usuario o datos incuerentes mostrara un mensaje de usuario o pasword erroneos.

Sin-titulo2

Pero si dejo los 2 text box en blanco sin ningun dato, me deja entrar automaticamente al sistema. Este es el codigo que estoy utilizando para el inicio de sesion en el boton de aceptar.


Sin-titulo3

Les agradeceria mucho! si me pudieran ayudar en que estoy fallando o cual es la mejor opcion para este problema.
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: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Error en inicio de sesion con contraseña

Publicado por Fidel José (657 intervenciones) el 18/12/2018 14:24:47
Lo más seguro es hacer la comparación exacta. O sea, antes del SEEK tienes que poner SET EXACT ON y luego (si quieres), SET EXACT OFF.
También puedes no admitir valores vacíos, o sea, si alguno de los campos está vacío, en lugar de buscar, rechazas la entrada.
O directamente puedes utilizar el Valid de cada textbox con RETURN 0 para Empty(this.value)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Error en inicio de sesion con contraseña

Publicado por Abel (286 intervenciones) el 18/12/2018 14:29:41
1
2
Thisform.Text1.Value = Alltrim(Upper(Thisform.Text1.Value))
Thisform.Text2.Value = Alltrim(Upper(Thisform.Text2.Value))

Use Usuario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Do Case
Case Empty(Thisform.Text1.Value) Or Empty(Thisform.Text2.Value)
    Messagebox("Los campos de Usuario y/o Password no deben estar vacíos",16,"Error")
Case Seek(Thisform.Text2.Value,"Usuario","Pasword")
    Thisform.Hide
    Thisformset.form2.Show
Otherwise
    Messagebox("Usuario o Password Erróneos",16,"Error")
    This.Enabled = .F.
    Thisform.Command2.Enabled = .F.
    Thisform.Text2.Enabled = .F.
    Thisform.Text1.Enabled = .T.
    Store "" To Thisform.Text1.Value, Thisform.Text2.Value
Endcase
Thisform.Refresh()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Melisa
Val: 16
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Error en inicio de sesion con contraseña

Publicado por Melisa (8 intervenciones) el 18/12/2018 17:00:40
Gracias! te lo agradesco me funciono.
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Error en inicio de sesion con contraseña

Publicado por Fidel José (657 intervenciones) el 18/12/2018 23:21:52
Hola Melisa
Me permito hacerte una recomendación: no uses formset (conjunto de formularios). Son un engorro inútil. Pese a que la ayuda de Visual Fox se refiere profusamente a los conjuntos de formularios, lo mejor que puede hacerse es ignorarlos por completo.
Si llegas a necesitar que dos o más formularios se muevan en forma coordinada, puedes utilizar una clase no visual, como "custom" y que la clase llame y ordene a los formularios.

También recuerda que una referencia de objeto (a cualquier objeto) se puede enviar como parámetro a otro formulario, por ejemplo, suponemos que tenemos Frm_base y Frm_Secundario:

1) Desde Frm_base, en algún lugar llamas a Frm_Secundario
DO FORM frm_Secundario with THISFORM && sin puntos ni comillas

2) Init de Frm_Secundario
LPARAMETERS toForm
ADDPROPERTY(thisform,"oForm",toform)
* Desde cualquier lugar del Frm_Secundario, con THISFORM.OFORM estarás accediendo a cualquier objeto o método del Frm_Base

3) Destroy del FRM_Secundario
THIS.OFORM = NULL && es muy importante no omitir el desenlace, porque puede que el frm_secundario se quede flotando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar