Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

tablas paradox

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: tablas paradox Responder citando

Hola,

quisiera saber como puedo dar opciones de mantenimiento a una aplicación que maneja tablas paradox de forma local con paradox,

por si alguna de las tablas se llegan a corromper.

Estoy reaalizando una aplicación que manjea algunas tablas paradox en forma local con el BDE.

Me gustaría agregarle algunas opciones que la hagan más robusta, por ejemplo si se produce un corte de luz o situación inesperada, por ejemplo reindexarla o algo por el estilo.

gracias

Adrián

Volver arriba
Mensaje    Asunto: tablas paradox Responder citando

Para reindexarla lo que tienes que hacer es:

-cerrar la tabla.
-borrar los ficheros de indice associados a la tabla (Nombre.xg? Y Nombre.yg?).
-borrar la definición de índices:
Taula->IndexDefs->Clear();
-volver a definir los índices por ejemplo:

Taula->AddIndex("","Data;Hora;Diferent",TIndexOptions() << ixPrimary,"");
Taula->AddIndex("NomTax","Nom",TIndexOptions() << ixCaseInsensitive,"");
Taula->AddIndex("ParTax","ParadaActual;Data;Hora",TIndexOptions() << ixCaseInsensitive,"");

-abrir la tabla

Espero que te ayude
Un abrazo

Bep.

Volver arriba
Mensaje    Asunto: tablas paradox Responder citando

si, pero se puede hacer todo eso desde el código
Volver arriba
Mensaje    Asunto: tablas paradox Responder citando

-cerrar la tabla.

Taula->Close();

-borrar los ficheros de indice associados a la tabla (Nombre.xg? Y Nombre.yg?).
Por ejemplo:

AnsiString Nom = Taula->TableName.SubString(1,Taula->TableName.Length()-3);

DeleteFile(Nom + ".PX");
for (char i= '0';i < '3';i++) // Número de índices secundarios
{
DeleteFile(Nom + ".XG" + AnsiString(i));
DeleteFile(Nom + ".YG" + AnsiString(i));
}
}

-borrar la definición de índices:

Taula->IndexDefs->Clear();

-volver a definir los índices por ejemplo:

Taula->AddIndex("","Data;Hora;Diferent",TIndexOptions() << ixPrimary,"");
Taula->AddIndex("NomTax","Nom",TIndexOptions() << ixCaseInsensitive,"");
Taula->AddIndex("ParTax","ParadaActual;Data;Hora",TIndexOptions() << ixCaseInsensitive,"");

-abrir la tabla

Taula->Open();

Saludos

Bep.

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.