Hola amigos, Estoy diseñando un procedimiento para crear un campo existente y colocarlo como requerido, trabajo con Delphi 5 y Paradox por medio del BDE
El procedimiento es el siguiente:
Código Delphi
[-]
ORIGINAL := tTable.Create(Application);
try
Original.DatabaseName := cRutaDatos;
Original.TableName := cLinDes;
Original.Active := True;
sqSQL := TQuery.Create(Application);
if Original.IndexFieldCount <= 2 then
begin
Original.Active := False;
Temporal := TTable.Create(Application);
try
Temporal.TableType := ttParadox;
Temporal.Name := 'Temporal';
Temporal.BatchMove(TBDEDataSet(Original), batCopy); Original.FieldDefs[Original.FieldDefs.IndexOf(cLinDes_Fecha)].Required := True;
Original.IndexDefs[Original.IndexDefs.IndexOf(cLinDes_I1)].Fields :=
cLinDes_CodigoDescarga + ';' + cLinDes_CodigoEmbarcacion + ';' +
cLinDes_Fecha;
Original.CreateTable;
Original.BatchMove(Temporal, batAppend);
finally
FreeandNil(Temporal);
end;
end;
El error que me genera es una excepcion de tipo EDBEngine Error y dice:
Código:
Invalid Parameter
Disculpen si esta largo pero solo coloque el bloque de codigo donde da el error
Por cierto la ayuda de Delphi dice:
Cita:
TTable.BatchMove
Moves records from a dataset into this table.
function BatchMove(ASource: TBDEDataSet; AMode: TBatchMode): Longint;
|
Cita:
|
batCopy Copy the structure and records from the source table into the destination table. If the destination table already exists,delete it, and replace it with the new copy of the source.
|