Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-08-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Prueba con algo como:

Código Delphi [-]
function CanConnect(Database: TIBDatabase): Boolean;
begin
  try
    Database.Connect;
    Result := True;
    Database.Disconnect
  except
    Result := False
  end
end;

No especificas que componentes usas para conectarte, así que puse el ejemplo con los IBX...



Saludos...
Responder Con Cita
  #2  
Antiguo 28-08-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 26
BlueSteel Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
Prueba con algo como:
Código Delphi [-]
function CanConnect(Database: TIBDatabase): Boolean;
begin
try
Database.Connect;
Result := True;
Database.Disconnect
except
Result := False
end
end;
No especificas que componentes usas para conectarte, así que puse el ejemplo con los IBX...


Saludos...
Sorry.. los estoy realizando con los IBX...
tube los sgtes problemas...

peres Database.Connected
perro el Disconnect no funca...

ahora, igual encontre la sgte fucción...

Database.TestConnected

y la realizo de la sgte forma... claro que con mas código...
Código Delphi [-]
     If Datos.IBD_Compras.TestConnected = True Then ShowMessage('Funciona Ok');


maeyanes, igual gracias.. me alumbrastes la ampolleta...
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 28-08-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola!

Disculpa, no recordaba que las IBX no tienen los métodos Connect y Disconnect, si no la propiedad Connected.

Y bueno, la forma que usas en realidad es menos código...

Código Delphi [-]
if Datos.IBD_Compras.TestConnected then
  // Guardas los datos

P.D. Por cierto, para comparar los valores de verdad de una variable, método o propiedad Boolean, no es necesario compararlo con el valor, si quieres saber si es verdadero basta con hacerlo como te puse en el ejemplo, para saber si es falso, solo tienes que hacer:

Código Delphi [-]
if not Datos.IBD_Compras.TestConnected then
  ShowMessage('Error conectando a la base de datos');



Saludos...
Responder Con Cita
  #4  
Antiguo 28-08-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 26
BlueSteel Va por buen camino
gracias por el concejo....

bueno, ahora tengo la sgte duda...para realizar el test de conección,, deberá estar conectada la base.. por lo pronto lo tengo así..

Código Delphi [-]
     Datos.IBD_Compras.Connected := False;
     Datos.IBD_Compras.LoginPrompt := False;
     Datos.IBD_Compras.DatabaseName := Nombre_Base;
     Datos.IBD_Compras.Params.Values ['user_name'] := vUsu.Text;
     Datos.IBD_Compras.Params.Values ['password'] := vPas.Text;
     Datos.IBD_Compras.Connected := True;
     
     If Datos.IBD_Compras.TestConnected Then
        Begin
             Parametro := TiniFile.Create('D:\Sistemas\Propint\config.ini');
             Parametro.WriteString('BaseDato','Servidor',Datos.IBD_Compras.DatabaseName);
             Parametro.WriteString('BaseDato','Usuario',Datos.IBD_Compras.Params.Values ['user_name']);
             Parametro.WriteString('BaseDato','Clave',Datos.IBD_Compras.Params.Values ['password']);
             Parametro.Free;
        End
     Else
        ShowMessage('Error de conexión, ingrese ruta nuevamente');

ya que me da el sgte error

I/O error for file "ruta..del...archivo"
Error while trying to open file
unknown Win32 error 2


y si pongo
Código Delphi [-]
 Datos.IBD_Compras.Connected := True;
, despues de la consulta del test.. siempre me indica que existe un error de conexión...

mmmm..seguire intentando
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 28-08-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 24
ArdiIIa Va por buen camino
Hola BlueSteel.

Vuelvo a insistir. Tal como te lo planteé en el primer mensaje, es muy adecuado para hacer el test. Si salta la exception, ya sabes que falló.

En cuanto al error que se te produce, comprueba la ruta de la BD y que esta no tenga los atributos de solo lectura. (por ejemplo si la copiaste desde un CD).

Saludos
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #6  
Antiguo 28-08-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
mmm... entonces TestConnected no prueba si se puede conectar o no a la base de datos, solo checa si la base de datos ya está conectada... en dado caso prueba así:

Código Delphi [-]
try
  Datos.IBD_Compras.Connected := True;
  // Guardar los datos de conexión en el .ini...
except
  ShowMessage('Ocurrió un error al intentar conectar con la base de datos')
end

El uso que se le podría dar a TestConnected sería:

Código Delphi [-]
// Verificamos que la aplicación esté conectada a la base de datos
if not Database.TestConnected then
  Database.Connected := True;
// Realizo las tareas necesarias



Saludos...
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
Conexion con el Servidor keys Conexión con bases de datos 2 14-02-2007 18:19:54
Conexión a un servidor FTP con SSL activado adebonis Internet 2 02-12-2005 07:21:07
Conexión con Servidor FTP por IdFtp Ivr Internet 3 13-09-2005 17:46:37
Conexion Cliente/Servidor Aser Firebird e Interbase 1 20-04-2005 22:42:28
Consultar tamaño de archivo en servidor jpep Internet 0 09-08-2003 14:20:04


La franja horaria es GMT +2. Ahora son las 21:31:56.


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