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)
-   -   Creación de Indices...... (https://www.clubdelphi.com/foros/showthread.php?t=11929)

seken 30-06-2004 00:17:29

Creación de Indices......
 
estimados.....
existe algun procedimineto mas o menos parecido a este: "table1.createindex;" . Que automaticamente con ejecutarlo me genere todos los indices que ya estan creados previamente cuando genere la tabla en el dATAbase Desktop. Trabajo con tablas Paradox.
Pregunto esto porque me ha pasado que se me rompen los indices por algun motivo de furza mayor (corte de luz..) y me da un mesaje de 'index out of date'.
gracias

;)

roman 30-06-2004 00:25:48

Que yo sepa no.

Puedes regenerar los índices con la función dbiRegenIndexes de la API del bde:

Código Delphi [-]
uses
  Bde;

...

Check(DbiRegenIndexes(Table.Handle));

De cualquier forma te adelanto que no siempre es posible regenerarlos y no tendrás de otra que borrar manualmente los archivos de índice y volverlos a crear.

// Saludos

seken 01-07-2004 13:30:14

hay algo que no funciona
 
roman:
1) entiendo que esto regenera los indices, si yo los borrara con esto me los regenera de nuevo?? de donde saca la infoirmación de que atributo interviene en el indice??

2) lo he ejecutado pero me da el siguinte error: "an error ocurred while attempting to initialized the Borland DataBase Engenering (error $2706)".
estoy ejecutando el comando con laTTable en Exclusive=true, hay que cambiar algo mas.

gracias

roman 01-07-2004 17:11:19

Cita:

Empezado por seken
1) entiendo que esto regenera los indices, si yo los borrara con esto me los regenera de nuevo?? de donde saca la infoirmación de que atributo interviene en el indice??

De ningún lado. Si los borras, la única manera de recuperarlos es volviendo a crearlos tú mismo. Por ello te recomiendo te vayas haciendo una rutina para crearlos con código. Mírate el método AddIndex de TTable. En la ayuda viene un ejemplo.


Cita:

Empezado por seken
2) lo he ejecutado pero me da el siguinte error: "an error ocurred while attempting to initialized the Borland DataBase Engenering (error $2706)".
estoy ejecutando el comando con laTTable en Exclusive=true, hay que cambiar algo mas.

Desconozco la razón. Este error normalmente aparece cuando o está instalado el BDE en la maquina. Otra cosa es que cuando usas las funciones de la API del BDE, en caso de que las uses sin usar nonguna componente de bases de datos, debes llamar a la función dbiInit() antes de poder usar cualquier otra función.

// Saludos

Pablo Carlos 04-07-2004 17:36:24

Mira... existe un prg que envio alguien... no recuerdo el nombre... que yo lo uso y cuando tengo ese problema aplico el prg y regenero los indices en el 95 % de los casos... anda muy bien... si quieres te lo envio por mail... pero si lo buscar en este club (creo que en ejemplos o software....)

Saludos Pablo
[email protected]


La franja horaria es GMT +2. Ahora son las 23:01:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi