FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ayuda autentificacion BD
Hola...tengo una aplicacion en delphi 7, la cual maneja una base de datos mysql por medio de un odbc...la aplicacion va a correr en un servidor en donde los usuarios puedan correrla desde su pc...en mysql se crearon los usuarios y se les asignaron sus permisos...
Todo hasta ahi esta bien...la aplicacion corre perfectamente Mi pregunta es.... Cuando corren la aplicacion, les aparece la ventana para autentificarse, les pide login y password...pero esta ventanita es la que saca delphi, es decir, la que nos pide login y usuario cuando ponemos activa una base de datos... Lo que quiero es poder preguntar el login y el password desde una forma inicial...como podria hacerle para poder validar el usuario que ellos estan metiendo con los usuarios registrados en la base de datos?? Ojala y alguien pueda orientarme...Gracias!!! |
#2
|
||||
|
||||
Ya que no mencionas que componentes usas para conectarte, supongo que se trata del BDE, así que lo que toca hacer es poner la propiedad loginprompt del TDatabase en falso, y luego establecer por código los parámetros 'UserName' y 'password' (podrían llamarse diferentes, mirá cómo los nombra al usar los parámetros default del driver.
La propiedad Params es un TStrings, así que establecer el valor es tan sencillo como:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
Hola jachguate
Pero con esa instruccion estoy asignando los nombres??... o verificando un nombre ya existente no?' Pero si quiero que cheque si existe ese usuario...si esta, que se conecte a la BD y siga....y si no que mande mensaje de error diciendo que no es un usuario valido...ahi como le harias?? Gracias!!! |
#4
|
|||
|
|||
..a ver si te sirve
Deberias hacer la ventana de la autenticación de la bd.. tu mismo..en un form splash(este lo deberias poner que se abra en la unit principal) o algo asi antes que se cargue la aplicacion ..y preguntar ahi el nombre del usuario y la contraseña..luego tratar de asignarle a la bd..ese usuario y contraseña si no existe alli esta tirara un excepcion, por ejemplo:
DataBase.Connected:=false; DataBase.Params.Clear; DataBase.Params.Add('user_name=nombreusuario'); DataBase.Params.Add('password=pass'); DataBase.LoginPrompt:=false; DataBase.Connected:=true; Esto lo puedes poner dentro de un try....except de ahi la podrias levantar hacia donde llamaste al form splash con un mensaje como que el usuario no existe y no dejar que la aplicacion corra..bueno espero que hayas entendido o al menos te orientes en algo, saludos! LA PATRIA SERA LIBRE! |
#5
|
||||
|
||||
Tomando la idea de reina:
Ahora, ya es cosa tuya si queres proveer un mecanismo para que el usuario reintente varias veces (o indefinidas veces). Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
|||
|
|||
No quiere funcionar
Hola chicos...tomando las ideas que me aportaron, me di a la tarea de inmediatamente empezar a trabajar en eso...
Estuve tratando de varias maneras y al parecer hay algo que me esta fallando... primero lo probe en el sistema que tengo ya hecho y no quiso... entonces despues cree una nueva aplicacion para empezar de cero... puse un componente de bd, un datasource y una tabla...las di de alta, porque ya tenia dado el odbc de mysql...y listo no hubo problema... entonces de algo sencillito, quise hacer que funcionara la autenticacion, pero que creen...pos que sigue sin funcionar...me marca el siguiente error, espero que puedan ayudarme a resolverlo... Project sistema.exe raised exception class EDBEngineError with message 'Key violation [TCX]ÑMyODBC] Access denied for 'root'@localhost (using password: NO) Alias: sistema. Process stopped. Use step or run to continue Trate de cambiar el EDatabaseError en la exepcion y ponerle EDBEngineError, pero pues tampoco...estuve buscando algun ejemoplo pero tampoco...asi que regreso con ustedes para ver si me pueden ayudar!!!...se los agradecere muchisisisisisimo!! De antemano Gracias!! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
La increíble tecla F1 en Delphi | dec | Varios | 1 | 31-08-2005 22:26:45 |
Sobre las rxlibs y la ayuda... | Elfoscuro | Varios | 2 | 25-05-2005 21:38:18 |
Ayuda Con Instalacion De Archivos De Ayuda | Legolas | Varios | 1 | 01-12-2003 14:48:03 |
Como hago un archivo de ayuda? | Ricsato | Varios | 2 | 29-10-2003 21:03:53 |
Ayuda | Esau | OOP | 2 | 20-09-2003 00:10:57 |
|