Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Cambio de BD en Modo Ejecución (https://www.clubdelphi.com/foros/showthread.php?t=43508)

FelipeDiaz 13-05-2007 17:25:43

Cambio de BD en Modo Ejecución
 
Buenos días a todos.

Agradezco la ayuda que me puedan brindar en los siguiente:

Deseo hacer una aplicacion Delphi de tipo comercial que accese a una Base de Datos Paradox.

Supongamos que tengo el Directorio "BD", donde guardo Tablas como son: Clientes, Pedidos, Facturas, Proveedor, Etc.

La idea es separar la infromacion ya sea de diferentes empresas o difreentes años de una msima empresa en una base de datos diferente peroq ues e pueda accesar por la misma apicacion, es decir llegar a tener un directorio BD con la informacion concerniente a cada empresa o año, por ejemplo:
BD2005: aqui esten los datos que trabaje en el año 2005.
BD2006, en la practica deberia tener como datos iniciales, la transferencia de datos finales de BD2005 y todo movimiento agregado en el año 2006.
Y asi sucesivamente, ...

Esta es la forma en que trabajan los actuales programas enfocados a Contabilidad. En estos programas, Puedes manejar un directorio para manejar una empresa y un directorio para manejar otra empresa. o la informaciond e cada año por separado.

La aplicacion al principio como es de esperarse debe dar la posibilidad al usuario de elegir la empresa o el año (....que directorio de BD) desea trabajar.

Quiero es saber como se puede implementar este cambio de directorio desde el inicio de la aplicacion.


Lo primero que se me viene a la cabeza y como lo haría con base en los conocimientos que tengo es asi:

1. La aplicacion al iniciar debe tener funcionalidad para crear un nuevo directorio con todas las tablas preesatblecidas.

2. Cuando el usuario crea un nuevo directorio (con suis tablas), debo llevar en una tabla independiente los nombres de referencia de los Directorios creados acompañado de la ruta dodne esta la base de datos o del Alias.
es decir el nombre que le dio el ususario y la ruta, que tambien debe guardarse en un lugar preestablecido, como puede ser el la misma carpeta dodne esta el ejecutable.

3. Cada vez que el usuario quiera escojer directorio, selecciona el nombre de referencia (dado por el susuario) e internamente se le cambia el DATABASENAME a cada tabla una por una desde el campo que contiene la ruta.


Habra algo mas eficiente que lo anterior o se me habra olvidado algo?

Cordial saludo,

Felipe.

Lepe 14-05-2007 04:44:19

Por supuesto, no usar paradox si es posible (ha quedado obsoleto). Si te interesa migrar el sistema, en el foro existe un programa que lo hace.

Al ser una aplicación comercial, yo optaría por Firebird, ya que no necesitas licencias.

El hecho de crear una Base de datos vacía, puede ser tan fácil como crear un Script en sql y lanzarlo en el momento oportuno.

Ya dirás si hay posibilidad de cambiar la Base de datos.

Cita:

Empezado por FelipeDiaz
1. La aplicacion al iniciar debe tener funcionalidad para crear un nuevo directorio con todas las tablas preesatblecidas.

No tiene por qué ser al inicio, basta cerrar el objeto TDatabase, configurar el alias y volver a abrir el TDatabase
Cita:

Empezado por FelipeDiaz
2. Cuando el usuario crea un nuevo directorio (con suis tablas), debo llevar en una tabla independiente los nombres de referencia de los Directorios creados acompañado de la ruta dodne esta la base de datos o del Alias.
es decir el nombre que le dio el ususario y la ruta, que tambien debe guardarse en un lugar preestablecido, como puede ser el la misma carpeta dodne esta el ejecutable.

Abogo por un simple archivo .ini por aquello de no tener que trabajar con "otra base de datos más", configuración de alias ruta, etc para una simple tabla.
Código:


[BD1]
ruta= c:\blahblah
alias=Alias 2004

[BD2]
ruta= c:\blahblah
alias=Alias 2005

El manejo de Alias lo haría en tiempo de ejecución, para no trabajar con el BDE Administrator.

Saludos

FelipeDiaz 28-05-2007 05:18:46

Gracias Lepe
 
Lepe muchas gracais por tu respuesta, habia estado de viaje y hasat ahora reviso el foro nuevamente.

En cuanto acambiar el motor de la base de datos, seguire tus recomendaciones. La verdad es que ya tego montada la aplicacion en Paradox pero solo me funciona con una Bd fija, y quiero volverla mas robusta y el codigo mas eficiente.

Ya he revisado en el foro los comentarios sobre FireBird y me parece conveniente utilizarlo.

Nuevamente Gracias.

Un Abrazo

Felipe.


La franja horaria es GMT +2. Ahora son las 11:34:57.

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