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 09-09-2015
Meridano Meridano is offline
Miembro
NULL
 
Registrado: ago 2015
Posts: 10
Poder: 0
Meridano Va por buen camino
Modificar la base de datos usada.

Hola amigos.
Tengo una pequeña aplicación que se conecta a una base de datos firebird para recoger una serie de datos.
Tengo definido un Alias en el cual se especifica la ruta de la base de datos y luego un Tdatabase que abre la base de datos mediante ese alias.

Bueno mi pregunta es si hay alguna manera de cambiar la base de datos asignada al alias mediante código, por ejemplo, supongamos que tengo una base de datos real y otra para hacer pruebas y yo quiero que utilice una u otra en función de una casilla del formulario, es decir si marco la casilla "pruebas" que utilice la base de datos para pruebas y si marco la casilla "producción" que utilice la verdadera, esto es solo un ejemplo, en la realidad puede haber varias bases y no saber de antemano los nombres a utilizar.

Un saludo y gracias por la atención.
Responder Con Cita
  #2  
Antiguo 09-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Hay infinitas formas de hacerlo

Por ejemplo, podes guardar el Alias en un archivo, y cuando se inicia el programa, se lee ese archivo, y se asigna el alias correspondiente (clasico archivos ini)

Tambien podes guardar en el ini "Pruebas = True" y en base a eso actuar en consecuencia en tu programa

Otra forma es usar compilacion condicional

Código Delphi [-]
{$IFDEF DEBUG}
Alias := Pruebas
{$ELSE}
Alias := Real
{$ENDIF}
Responder Con Cita
  #3  
Antiguo 10-09-2015
Meridano Meridano is offline
Miembro
NULL
 
Registrado: ago 2015
Posts: 10
Poder: 0
Meridano Va por buen camino
Gracias

Muchas gracias, ya tengo varios hilos para tirar y tratar de conseguirlo.
Responder Con Cita
  #4  
Antiguo 10-09-2015
Meridano Meridano is offline
Miembro
NULL
 
Registrado: ago 2015
Posts: 10
Poder: 0
Meridano Va por buen camino
Hola.
Ya he conseguido (tampoco es muy complicado) usar una archivo ini, en el cual indicar la ruta y el nombre de la base de datos a utilizar, pero estoy atascado en como indicar al alias que use esa ruta con el nombre indicado en el ini. Recordar que no se de antemano la ruta completa de base de datos hasta que no lea el ini, y por lo tanto no puedo tener varios alias creados por adelantado y usar uno otro.

Utilizo FireBird. Muchas gracias por vuestra paciencia.
Responder Con Cita
  #5  
Antiguo 10-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Yo agregaria el alias como un dato mas en el ini
Responder Con Cita
  #6  
Antiguo 10-09-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Meridiano.

¿ Y no te convendría aprovechar el archivo aliases.conf ?.

Para la elección de una ruta u otra podes aplicar, por ejemplo, lo que te explicó AgustinOrtu en el mensaje #2.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 10-09-2015
Meridano Meridano is offline
Miembro
NULL
 
Registrado: ago 2015
Posts: 10
Poder: 0
Meridano Va por buen camino
Gracias por responder.
El problema es que no puedo crear varios alias por adelantado, porque no se el nombre de las bases de datos que se van a utilizar, mi idea era crear un alias con una base de datos y luego mediante código modificar la base de datos a la que apunta el alias.

AgustinOrtu: No puedo meter el alias en el ini, porque estan creados los alias de antemano (solo tengo 1 con la base de prueba, que luego quiero cambiar a la que tenga que usar cada uno)

El problema que tengo es que no se que código utilizar para modificar la base de datos a la que apunta el Alias.

Puede que como dice ecfisa pueda modificar el archivo aliases.conf para indicar alli las nuevas rutas. Investigaré esto.

Muchas gracias.
Responder Con Cita
  #8  
Antiguo 10-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Por cierto, un alias no sería más bien algo como 'BdGestion" y lo otro la ruta?
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
funcion en dll usada en vb6 se comporta diferente en delphi erickperez6 Varios 2 29-05-2013 18:37:53
Conectar base de datos Firebird con base de datos Oscommerce 2.3.3 Adriadob Firebird e Interbase 11 31-10-2012 11:28:46
¿Qué versión de Delphi me recomiendan? ¿Cuál es la más usada? Chiefesito Varios 18 13-09-2006 00:10:24
problema al modificar 1 base de datos paradox7 adaypr C++ Builder 4 18-08-2006 02:49:26
Ultima celda usada en excell davezf Varios 4 03-02-2005 23:22:59


La franja horaria es GMT +2. Ahora son las 23:07:26.


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