Grabar datos modificando el alias de la BD

Hola que tal.
Estoy programando en delphi con BD paradox. Tengo un alias 'bombonasejer' que es 'c:\...\datos\2003' asociado a la BD 'entradas.db'. Al ejecutar la aplicación se introduce una fecha del tipo '01/01/02', lo que indica que los datos los debemos grabar en esa BD pero en la carpeta del 2002. Logro modificar el alias para que sea 'c:\...\datos\2002' pero cuando hago el post sobre la BD, me graba los datos en la carpeta del alias inicial (2003). ¿Qué tengo que hacer para que los grabe en el 2002?
Espero que te haya quedado todo claro, gracias anticipadas, kayilar.
Respuesta
1
¿Cómo cambias el alias de tu base de datos? Porque por lo que me dices no lo haces en realidad.
La forma de la que lo cambio es :
procedure DatabaseDesc(DBName: String);
const
DescStr = '%s';
var
dbDes: DBDesc;
begin
dbiGetDatabaseDesc(PChar(DBName), @dbDes);
with dbDes do
RUTA:=FORMAT(DESCSTR,[SZPHYNAME]);
end;
En la RUTA tengo: 'c:\...\datos\2003' que utilizo para poner el 'NUEVOALIAS' con el año 2003
procedure CAMBIAALIAS(NUEVOALIAS:STRING);
VAR
TARGETLIST:TSTRINGS;
BEGIN
// CAMBIAMOS EL ALIAS AL DEL AÑO ACTUAL.
TARGETLIST:=TSTRINGLIST.Create;
NUEVOALIAS:='PATH='+NUEVOALIAS;
TARGETLIST.Add(NUEVOALIAS);
DMBOMBONAS.Session1.ModifyAlias('BOMBONASEJER',TARGETLIST);
DMBOMBONAS.Session1.SaveConfigFile;
TARGETLIST.Free;
END;
El alias me lo cambia ya que si entro por el BDE y miro el path de 'bombonasejer' ha puesto:
c:\...\datos\2002 cuando inicialmente tenia el c:\...\datos\2003
Supongo que estas usando un componente TDatabase.
¿De qué forma actualizas el alias? ¿Estas desconectando y reconectando la base de datos?
Agrega también en tu procedimiento CAMBIAALIAS los siguiente:
DMBOMBONAS.Session1.active:=False;
DMBOMBONAS.Session1.active:=True;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas