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 07-04-2004
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
Problema con Database en Datamodule

Hola a todos!!

Vereis, tengo el problema siguiente: he hecho un programa de gestion en delphi 5 y, como es evidente, con sus bases de datos (en paradox). Dentro de delphi utilizo tablas del tipo TTable junto con sus TDatasource, todas las tablas ubicadas en un Datamodule y ligadas todas ellas a un TDatabase.

Por otra parte, para hacer la gestión correcta se tiene que hacer la contabilidad cada año (por ejemplo) y por tanto, lo que hago cada año (a partir de ahora jejeje) es copiar la carpeta entera (donde hay el ejecutable y bases de datos *.db), voy al DBEAdministrator y creo un nuevo Alias (y en la propiedad AliasName del TDatabase le cambio el alias por este nuevo).

Hasta aquí bien, no? Pues ahora viene el problema: cuando abro uno de los dos ejecutables a veces se va a la base de datos de un año diferente, y yo creo que pasa esto porque al ejecutar el programa se crea un Alias temporal en el DBEExplore, que este alias corresponde al nombre que le he dado en la propiedad DatabaseName del TDatabase, y supongo que el programa corre bajo este alias temporal.

Bueno, otro problema es que no puedo abrir los ejecutables a la vez, y supongo que es por el mismo problema.

Podéis decirme como solucionar este conflicto y que cada ejecutable de un cierto año se corresponda con las bases de datos del mismo año, y si puede ser, que se abran los ejecutables a la vez?

Si no entendéis algo decirme alguna cosa.

Gracias anticipadas
Responder Con Cita
  #2  
Antiguo 08-04-2004
ciscu ciscu is offline
Miembro
 
Registrado: jun 2003
Ubicación: Granollers
Posts: 114
Poder: 21
ciscu Va por buen camino
abrir dos ejecutables iguales apuntando a distintas bases

Hola que tal!!!

He seguido intentando saber porque no funciona pero no me ha salido.

Si no entendéis la pregunta porque me expresé mal decidme algo, vale?

Me corre un poco de prisa, así que se gustaría que respondiérais, aunque si no lo haceis no os guardaré "rencor" ya que me habéis ayudado muchas veces jejejeje!!!

Gracias de antemano!!!
Responder Con Cita
  #3  
Antiguo 08-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
En lugar de usar alias, si las tablas están en el mismo directorio del exe (o en algún subdirectorio), puedes hacer algo así

Código:
  if Database1.Connected then Database1.Connected := false;
  Database1.Params.Clear;
  Database1.Params.Add('DEFAULT DRIVER=PARADOX');
  Database1.Params.Add('ENABLE BCD=FALSE');
  Database1.Params.Add('PATH=' + ExtractFilePath(Application.ExeName));
  Database1.Connected := true;
donde en PATH pondrás la carpeta donde estén las tablas. Si para todas tus aplicaciones es la misma estructura de carpetas, no tendrás problemas.

Por otro lado, esta manera de trabajar no es que sea muy.... ¿normal?
Algo más lógico podría ser tener una carpeta por cada año con las tablas y un sólo ejecutable. Al arrancar el programa, preguntar año de trabajo y que se conectara a la carpeta del año seleccionado. Con lo que te he dicho arriba, no te sería complicado
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


La franja horaria es GMT +2. Ahora son las 22:31:25.


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