Error en Login. ¿como lo capturo y lanzo la excepcion?
Hola a todos/as.
Vaya por delante que trabajo con interbase 6 y delphi 7. Estoy intentando construir un formulario de entrada a la aplicacion. En el mismo pongo un combobox con todos los usuarios de la base de datos y debajo un Edit para introducir el password. No se como capturar la excepcion que se produce cuando el usuario se equivoca en la password. Estoy intentando el siguiente codigo pero me falla.
¿Alguien me puede echar un cable? |
Tal vez la clase de error no sea "EloginFailed"...
prueba utilizar:
Esto para ver la clase del error y posiblemente ver el número de error, para poder capturar específicamente ese error. |
Ese codigo me da error
El error surge por ErrorCode.
De todas formas, una vez que vea que tipo de error da ¿como capturo la excepcion? Gracias. |
cuando tengamos los datos qe te devuelve ese codigo te podremos explicar como capturarlo
|
Hola
Perdón por la ignorancia. A mi manera de ver tienes: 1 datamodule que contiene un IBDatabase (IBDB) Si es asi, por que no hacer la conexión en el datamodule, al empezar la aplicación, por que variar los parámetros en el que seria el form del loguin. Perdona, pero no lo entiendo, creo que complicas el proceso innecesariamente. Para mi el form del login solamente debería de indicar la condición, verdadero o falso, en el caso de que sea el usuario correcto. Saludos |
Cita:
Una vez que estés seguro de la clase de error que te envía, pues ya solo capturas esa clase... Incluso (aunque no muy recomendable), podrías manejar "E:Exception" para capturar cualquier tipo de error. El problema con capturar todos los errores, es que no sabrías ni que clase es, ni que tipo de error. Alguna vez alguien dijo: "bien pudo haber caído una bomba nuclear y el mensaje de error sería el mismo. En fin, primero asegúrate que la clase realmente sea "ELoginFailed". |
que rara manera de hacer un login
y por que no tienes todos los usuarios con sus respectivas password en un datasource y lo buscas cuando éste usuario presiona aceptar y comparas
dichas password? O bien que el combo sea un dbLockupCombobox de manera que ya sabés quien es el usuario y un text donde ingrese su password. algo así Código:
if tblUsers.FieldByName('Password').Value = txtPassword.Text Saludos y espero te sirva de algo. Consideralo, ya que si ingresa mal su password no es un error, o al menos no deberías generar un error, simplemente le pides que reingrese. |
Es que según entiendo, este no se trata de que "un usuario" entre al sistema.
Se trata de que el sistema se conecte a la base de datos. Si el sistema no se conecta a la base de datos, no puedes usar dblookupcombobox, o compara la tabla usuario ni nada. Al menos eso es lo que yo entendí. |
La franja horaria es GMT +2. Ahora son las 20:24:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi