Delphi - Paradox...

 
Vista:

Paradox...

Publicado por Elena (330 intervenciones) el 25/08/2005 19:06:13
Chicos en mi vida no había usado tablas Paradox (es una pesadilla). Acabo de darle un Delete a una tabla y cuando la uso vuelven y aparecen todos los campos. ¿Cómo se borra en este asunto? ¿No se puede borrar definitivamente?
PLEASEEEEEEEEEE HELPPP MEEEEEEE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Paradox...

Publicado por BigLuis (713 intervenciones) el 25/08/2005 19:20:52
Te está bien empleado por meter la mano donde no debes. Parece mentira que una muchacha como tu ande enrredando con Paradox (todo es broma).Paradox igual que DBase no borra los registros fisicamente sino que los marca para borrado, aunque no deberias verlos, eso me tiene despistado.
Yo tengo hechas un par de aplicaciones de cuando tabaje con Paradox (si, yo tambien lo hice, que pasa.....) en el que tengo implementada una funcion para "empaquetar" los registros marcados para borrado. Si realmente te hace falta, lo busco y te lo hago llegar.Dime cosas.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Las encontre

Publicado por BigLuis (713 intervenciones) el 25/08/2005 19:32:19
Las encontre y estos son los procedimientos

//ESTE ES PARA LAS TABLAS DBASE
procedure TFormPrincipal.PackDBFTable(const ADatabaseName, ATableName: string);
begin
with TTable.Create(Self) do
try
DatabaseName := ADatabaseName;
TableName := ATableName;
Exclusive := True;
Open;
if DbiPackTable(Session.FindDatabase(ADatabaseName).Handle,
Handle, '', '', True) <> DBIERR_NONE then
raise EDatabaseError.Create('Error en compresión de la Tabla '+ uppercase(Atablename))
else
showmessage('Compresion de la Tabla '+uppercase(Atablename)+' realizada con éxito');
finally
Free;
end;
end;

//ESTE ES PARA LAS TABLAS PARADOX
procedure TFormPrincipal.PackPxTable(const ADatabaseName, ATableName: string);
var
ADB: TDatabase;
PdxStruct: CRTblDesc;
begin
with TTable.Create(Self) do
try
DatabaseName := ADatabaseName;
TableName := ATableName;
Exclusive := True; //tIENE QUE ESTAR EN MODO EXCLUSIVO SI NO FALLA
Open;
ADB := Session.FindDatabase(ADatabaseName);
ADB.KeepConnection := True;
Close;
FillChar(PdxStruct, SizeOf(PdxStruct), 0);
StrPCopy(PdxStruct.szTblName, ATableName);
PdxStruct.bPack := True;
if DbiDoRestructure(ADB.Handle, 1, @PdxStruct, nil, nil, nil, False)
<> DBIERR_NONE then
raise EDatabaseError.Create('Error en compresión de la tabla '+uppercase(Atablename))
else
ADB.Connected := False;
showmessage('Compresion de la Tabla '+uppercase(Atablename)+' realizada con éxito');
finally
Free;
end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Las encontre

Publicado por Elena (330 intervenciones) el 25/08/2005 19:59:08
Luis gracias mil por la ayuda, pero me da error en PdxStruct: CRTblDesc;
dice q no conoce a CRTblDesc;
Debo agregar algo en el Uses?

PD: Esto de usar Paradox es una pesadilla, pero debo hacerlo (me dan ganas de llorar). Si se te ocurre un manejador de BD GRATIS! solo dime y me cambio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Las encontre

Publicado por Elena (330 intervenciones) el 25/08/2005 20:06:45
Para serte sincera: NO entiendo NADA.
CRTblDesc??
PdxStruct??
DbiDoRestructure??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Las encontre

Publicado por BigLuis (713 intervenciones) el 26/08/2005 08:39:18
Esas palabras raras son registros y estructuras declarados en las unidades siguientes que tienes que añadir al uses, aparte de por supuesto Windows etc.(te juro que yo no tengo la culpa)
interface
uses BDE, DB, DBTables, DbiProcs, DbiErrs, DbiTypes, DBConsts

Si buscas en la ayuda DbiDoRestructure te aclararas un poco mas.

En cuanto a un manejador gratuito de bases de datos yo ultimamente estoy utilizando (con perdon de Delfino un enamorado de Firebird e Interbase) MySQL con las librerias Zeos (tambien gratuitas) para acceder y manipular los datos y la verdad es que es una maravilla.No tiene que envidiar en nada a SQL Server o Interbase, aunque como estas hay que instalar el servidor pero es sencillisimo y no te digo nada del lenguaje SQL y las funciones propias de MySQL, se lo tragan todo sin apenas errores, en fin una pasada. Si te decides dime cosas y no instales una version posterior del servidor MySQL a la 4.1 (actualmente va por la 5 en fase beta) ya que de momento las librerias Zeos solo soportan hasta la 4.1, que te puedo orientar en cuanto a cuatro aplicaciones muy buenas para manejar el servidor en cuanto a la creacion y modificacion de usuarios, databases, tablas etc.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Las encontre

Publicado por Elena (330 intervenciones) el 26/08/2005 15:18:55
Amigo MIL GRACIAS (que Dios te pague en bendiciones tu ayuda).

Abrazos,

Elena
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Help me

Publicado por Elena (330 intervenciones) el 29/08/2005 15:45:41
Vuelve el perro arrepentido!
Mi gran Luis no me funciona el procedimiento, y lo peor es q no se lo q estoy haciendo mal.
Revísalo please y retroaliméntame.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help me

Publicado por BigLuis (2 intervenciones) el 29/08/2005 17:22:12
¿Tu Email es bueno?. Dimelo y si es asi, te mandaré el codigo fuente de todo el proyecto junto con un componente externo que uytiliza para que puedas probarlo o hacer con el lo que quieras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help me

Publicado por Elena (330 intervenciones) el 29/08/2005 17:46:51
ok puedes enviarlo a [email protected]
En concreto quiero preguntarte si existe alguna manera de q los campos autoincremento vuelvan a 1, porque esto es una mier.... borro todo y el (+) toma el valor por donde se quedó y la tabla "supuestamente" no tiene registros.
Esto me trae de cabeza.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Help me

Publicado por BigLuis (713 intervenciones) el 29/08/2005 18:14:29
Ya te lo mande.En cuanto a los campos autoincrementales de Paradox, yo no se la forma de iniciarlos a 1 salvo crear la tabla de nuevo.He llegado incluso a borrar el campo y al crearlo de nuevo me mantenia el valor del campo antiguo. Olvida Paradox y vente a MySQL.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar