PDA

Ver la Versión Completa : Componentes Zeos


texano3000
24-01-2009, 04:59:27
Disculpa soy nuevo utilizando estos componentes me an dicho que son muy eficientes por lo qu veo es cierto pero quiero saber como validar la conexion a la base de datos cuando te pide en el cuadro de dialogo el user y el password para que no me salga el error de exepcion.

gasparsi
25-01-2009, 00:36:23
Hola

Entiendo que tu problema es que al conectarte desde el IDE de Delphi te aparece el error.
Lo que me ha pasado a mi es que si el servidor esta en una maquina Linux, debes primero crear un usuario (diferente al root) al que le das los permisos de select, crerate, delete, drop o los que desees usar; debes tambien definir el tipo de host desde el que te vas a conectar.

Si el servidor de Mysql esta en windows es mucho mas sencillo, ya que solamente pones el root y su contraseña en las casillas correspondientes de ZConnection del zeos, defines el tipod e protocolo que estas manejando y se debe conectar.

En windows no es tan necesario que le asignes los permisos a la base de datos.

Espero te ayude algo.

AzidRain
26-01-2009, 21:32:37
Asi puedes hacerlo texano:


Procedure conectar;
var intentos:Integer;

Begin
intentos := 0;
//Obtenemos los datos de usuario y password de mysql y se los ponemos a la conexión ZConnection:
MyZConnection.User :=clave_usuario;
MyZConnection.Password := paswword;

While (Not MyZConnection.Connected) or (intentos<4) do
Begin
try
MyZeosConnection.connect;
except
If intentos=3 Then raise Exception.Create('Intentos agotados');
ShowMessage('es incorrecto el nombre o password utilizado');
Inc(intentos);
end;
end;


Con este código puedes hacer lo que quieres.Funciona mas o menos así:

obtenemos los datos,
intentamos la conexion
si falla capturamos la excepción que se genera
si es el tercer intento generamos una nueva excepción para detener todo.
si no, ponemos un mensaje para indicar el error e incrementamos el contador de intentos
repetimos hasta obtener una conexión exitosa o agotar los intentos.

Obviamente el tipo de captura de excepción que te pongo es muy general e indebido ya que estamos suponiendo que cualquier excepción que se genere va a ser por motivo de password o usuario y puede haber muchas otras.

texano3000
27-01-2009, 04:40:45
Ok. ya verifique el codigo del procedimiento y esta bien pero donde va rl procedure dentro del componente donde se hace la conexion a la base de datos o dentro de la forma.

texano3000
30-01-2009, 23:38:42
Disculpa pero el script que recibi esta bien pero la duda que tengo es donde va insertado el script para que valide el error de exepcion, lo que voy hacer es que voy a subir la imagen del error el cual mesale para que me expliques bien como validar ese error, la imagen la subo mas tarde por que ahorita no me encuentro en mi casa y la aplicacion la tengo en la maquina de mi casa, Gracias por tus comentarios los tomare encuenta, pero es que soy nuevo en la programacion de estos componentes ZEOS

AzidRain
31-01-2009, 01:00:32
El código (no script) va en donde realices la validación, que puede ser de dos formas:

Dentro del form: Al hacer click en el boton "aceptar" o "conectar" pones un evento que tehaga esta validación o bien...

Fuera del form:

Abres el form en forma modal y capturas las excepciones que se generen...

si quieres pon tu codigo como haces la conexion y aqui le ponemos lo que le falte