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)
-   -   Problemas con error en bases de datos en delphi5 (https://www.clubdelphi.com/foros/showthread.php?t=26387)

vick 20-10-2005 23:19:50

Problemas con error en bases de datos en delphi5
 
QUE TAL

Me Gustaría saber si alguien sabe la razón del porqué el código de más
abajo me genera el error Corrupt Index Index:C:\Tablas\Reg_Deprec_Aux.
Reg_Deprec_Aux es el nombre de mi tabla creada en Paradox 7 para delphi5

Mi intención con el código de abajo es eliminar todos los registros
que posee la tabla, al salir o cerrar una forma.

si alguien sabe porque me genera ese error agradecería su ayuda, de igual
manera si alguien conoce otra forma de hacer lo mencionado, se los agradezco.

El código es:

Código Delphi [-]
procedure Limpiar_Tabla_Reg_Dep_Aux; //Elimina todos los registros de la tabla REg_Deprec_Aux
 Var
   v:Integer;
 Begin
   If (Modulo_Datos.TblReg_Deprec_Aux.IsEmpty=False) Then
   Begin
     Modulo_Datos.TblReg_Deprec_Aux.First;
     For v:=1 to Modulo_Datos.TblReg_Deprec_Aux.RecordCount do
       Modulo_Datos.TblReg_Deprec_Aux.Delete;
   End;
 End;
¡SALUDOS HASTA LUEGO!

dec 21-10-2005 00:43:42

Hola,

No soy muy ducho en estas lides (en ninguna lo soy, a decir verdad), pero, bastaría con el método "EmtpyTable" para borrar todos los registros contenidos en una tabla. Así se puede ver en el ejemplo que acompaña a la ayuda del susodicho método:


Cita:

Empezado por Ayuda de Delphi
EmptyTable example

The following example uses a table component to empty a database table. First the properties of the table component are set to specify the table that should be emptied.

Código Delphi [-]
 with Table1 do
 begin
   Active := False;
   DatabaseName := 'Delphi_Demos';
   TableName := 'CustInfo';
   TableType := ttParadox;
   EmptyTable;
 end;

Ignoro si aún así continuará apareciéndote el error que comentas. Ya dirás algo, en todo caso. ;)

luisgutierrezb 21-10-2005 17:39:39

pues se me hace que el empty table es mejor pero como quiera creo que a tu codigo le falta algo como:

Código Delphi [-]
 Modulo_Datos.TblReg_Deprec_Aux.First;
 For v:=1 to Modulo_Datos.TblReg_Deprec_Aux.RecordCount do
 Begin
   Modulo_Datos.TblReg_Deprec_Aux.Delete;
   Modulo_Datos.TblReg_Deprec_Aux.Next;
 End;

Lepe 22-10-2005 12:03:04

Al hacer un Delete, se actualiza la posición del Dataset, así que el .Next no hace falta, es más poniendolo, borrará alternativamente los registros.

saludos

vtdeleon 23-10-2005 00:02:20

Saludos

Código Delphi [-]
while  Modulo_Datos.TblReg_Deprec_Aux.RecordCount>0 do
   Modulo_Datos.TblReg_Deprec_Aux.Delete;
Copiando a roman de otro ejemplo :p


La franja horaria es GMT +2. Ahora son las 08:19:53.

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