Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-11-2008
lledesma lledesma is offline
Miembro
 
Registrado: abr 2004
Posts: 43
Poder: 0
lledesma Va por buen camino
Como registrar un modulo de datos

Hola comunidad:
Mi pregunta: trabajo con firebird 2.0 y mi aplicacion tiene un modulo de datos en el que se define la conexion a esta base de datos. El problema se presenta al interactuar con otra aplicacion que trabaja con sqlserver. Tengo el modulo de datos con la conexion a sqlserver. Agrego el modulo de datos (sqlserver) a mi aplicacion, pero tengo que verificar si la base de datos sqlserver existe y solo en este caso declarar el modulo de datos. La aplicacion hecha con sqlserver no siempre existe (se utiliza en algunas empresas y en otras no) en caso que no exista no la puedo utilizar porque daria error en el momento que tenga que realizar algun cambio en esta base de datos desde mi aplicacion (tengo que replicar mis datos en esa base de datos para mantener consistencia de datos en ambas).
Espero se entienda, desde ya muchas gracias.
__________________
Atentamente
Luis
Responder Con Cita
  #2  
Antiguo 20-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por lledesma Ver Mensaje
...Agrego el modulo de datos (sqlserver) a mi aplicacion, pero tengo que verificar si la base de datos sqlserver existe y solo en este caso declarar el modulo de datos.
Coloca un ADOConnection e intenta conectar (capturando error con Try..except, por ejemplo) a la Base de Datos de SQLServer. Si la conexión falla, puedes suponer que el módulo no está.

De todas formas no acabo de entender muy bien, si es esto lo que preguntas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 20-11-2008
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Thumbs up

Hola Lledesma,

La solución a tu problema es muy simple:

1.) Para saber si existe una base de datos utiliza este código:

Código SQL [-]
SELECT
    COUNT(*) AS Existe
  FROM master..sysdatabases
  WHERE name = 'BaseDeDatos'
Te devuelve 1 si encuentra la base de datos
Te devuelve 0 si no la ha encontrado

2.) Para saber si existe una tabla utiliza este otro codigo:

Código SQL [-]
SELECT
    COUNT(*) AS Existe
  FROM BaseDeDatos..sysobjects
  WHERE name = 'Tabla'
Te devuelve 1 si encuentra la tabla
Te devuelve 0 si no la ha encontrado

Espero que te sirva

Un saludo.
Responder Con Cita
  #4  
Antiguo 20-11-2008
lledesma lledesma is offline
Miembro
 
Registrado: abr 2004
Posts: 43
Poder: 0
lledesma Va por buen camino
Gracias Neftali por tu pronta respuesta.
La idea es que no muestre el error al usuario que utiliza la aplicacion. Tendria que manejar el evento del error si la excepcion falla?.
Gracias de nuevo
__________________
Atentamente
Luis
Responder Con Cita
  #5  
Antiguo 20-11-2008
lledesma lledesma is offline
Miembro
 
Registrado: abr 2004
Posts: 43
Poder: 0
lledesma Va por buen camino
Olbeup, gracias.
Pruebo lo que me indicas y te aviso
__________________
Atentamente
Luis
Responder Con Cita
  #6  
Antiguo 21-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por lledesma Ver Mensaje
Gracias Neftali por tu pronta respuesta.
La idea es que no muestre el error al usuario que utiliza la aplicacion. Tendria que manejar el evento del error si la excepcion falla?.
Pues sí; En tu caso en el EXCEPT en lugar de mostrar el error te apuntarás que eso lo está instalado y listo.

Algo así:

Código Delphi [-]
try
  // intentar conectar
  ....

  _ModuloInstalado := True;
except
  on E:EOLEException do begin
    // error en la conexión 
    _ModuloInstalado := False;
  end
  else begin
    // otro error 
    _ModuloInstalado := False;  // igualmente no podremos usarlo
    //  hacer otras cosas
    // ....
  end;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 21-11-2008
lledesma lledesma is offline
Miembro
 
Registrado: abr 2004
Posts: 43
Poder: 0
lledesma Va por buen camino
Mil Gracias
__________________
Atentamente
Luis
Responder Con Cita
Respuesta



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
Modulo de Datos JESUSMDGZ Conexión con bases de datos 4 04-03-2007 23:06:02
modulo datos y sql truequeman Conexión con bases de datos 2 19-01-2007 17:32:25
Modulo de Datos!! magnu9 Conexión con bases de datos 4 09-01-2007 16:57:42
Registrar datos en un DBgrid Choclito Varios 0 21-12-2006 00:12:38
Como registrar una base de datos en interbase jgutti Firebird e Interbase 3 12-03-2004 17:20:43


La franja horaria es GMT +2. Ahora son las 08:04:28.


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
Copyright 1996-2007 Club Delphi