Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Un detallito... Tu código no es simplón, es que testea una serie de condiciones y actua en todos los casos posibles (con un MessageBox, pero hace algo), por eso quizás no he entendido tu objetivo principal.

Pensando de forma global (abstracta que dirían algunos) tu último ejemplo está bien, ya que se trata de saber si se puede conectar o no con MySql.

Si quieres obtener información detallada de por qué no se ha podido conectar, tendrás que mirar los tipos de excepciones que lanza MySql y detectar el código de cada uno, a partir de ahí personalizar los mensajes.

Si quieres detalles, usa on except y el tipo de excepción de MySql. Lo mismo es aplicable para el trabajo de excepciones en general, siempre puedes usar un código general (para todos los tipos de excepciones) y otro más concreto para excepciones con un código de error.

Lo más rápido para ver el tipo de error producido es:
Código Delphi [-]
try
  MySQL50Connection1.Open; // inténtate conectar al servidor MySQL
except 
  on e:exception do
    ShowMessage(e.ClassName); // en caso excepcional, si no puedes conectarte dímelo
end;

A ver si un compañero que trabaje con MySql puede ponerte un código de ejemplo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 13-12-2008
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 18
noob Va por buen camino
La idea es que se gestione la excepcion pero que no muestre ningún mensaje al usuario, es decir, quiero que el programa se intente conectar y si no puede que no muestre ningún mensaje más que nada porque el programa que estoy haciendo va a ser un servidor y no va a haber ningún usuario para que cierre ventanas.

Algo así:

Código Delphi [-]
try
  MySQL50Connection1.Open; // inténtate conectar al servidor MySQL
except 
  Fallo := true // en caso excepcional, si no puedes conectarte dímelo
end;
Responder Con Cita
  #3  
Antiguo 13-12-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
con más razón necesitas saber cuál es la clase de la excepción cuando falla la conexión.

Dejar sin clase la excepción te podría generar más problemas de los que resuelve.
__________________

Responder Con Cita
  #4  
Antiguo 13-12-2008
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 18
noob Va por buen camino
De todas las propiedades por las que puede fallar: HostName, Port, UserName, Password, DatabaseName, un error de conexión sólo puede deberse a que la contraseña o el nombre de usuario no estén correctos, así que el error siempre se va a deber a eso.

Antes, cuando no usaba excepciones me salía en un mensaje que la clase de la excepción era EDatabaseError.

¿Cómo puedo saber los tipos de excepciones que lanza MySql?

Saludos.
Responder Con Cita
  #5  
Antiguo 14-12-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
Cita:
Empezado por noob Ver Mensaje
De todas las propiedades por las que puede fallar:
¿Cómo puedo saber los tipos de excepciones que lanza MySql?
¿Qué componentes usas para conectarte a MySQL?, ya que los componentes tienen sus propias excepciones para manejarlas de acuerdo al tipo de Base de Datos, ya sean ZEOS, MyDAC, etc..

En el caso de ZEOS la exception que maneja las conecciones es el EZSQLException.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 14-12-2008
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 18
noob Va por buen camino
Uso estos componentes:
TMySQL50Connection
TSQLTransaction
TSQLQuery

¿Les conocéis?
Responder Con Cita
  #7  
Antiguo 14-12-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
¿BDE?
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Estoy hecho un lio con los codigos de barra. Help!! escullar Impresión 28 21-02-2007 03:17:52
Excepciones banleu Firebird e Interbase 8 20-04-2006 00:11:18
Excepciones Acker Tablas planas 6 06-08-2005 15:22:18
excepciones!!!!! hanna33 OOP 3 24-05-2005 17:10:10
Excepciones del bde Pablo Carlos Conexión con bases de datos 3 15-04-2005 17:57:46


La franja horaria es GMT +2. Ahora son las 22:19:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi