Home > Archive > Programming with dBASE > October 2005 > Why DELETEs are NOT allowed









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Why DELETEs are NOT allowed
Zoltan Forray

2005-10-17, 1:26 pm

Does someone have a list of differences between Visual dBase V5.7 and dBase Plus when it comes to using the DELETE command ?

I am constantly having compatibility issues with using DELETE in Plus, when this used to be perfectly acceptable/functional in VdB 5.7.

Sometimes I get this message:

"Detabase Engine Error: Record/Key deleted".

Well, DUH, the statement it points to is a DELETE and I am trying to (or it has succeeded) DELETE the record in a database due to a condition being met !

This program works just fine in 5.7 ?

What gives ?
Gerald Lightsey

2005-10-17, 1:26 pm

On Sun, 16 Oct 2005 17:17:27 -0400, in the dbase.programming group,
Zoltan Forray said...
> Does someone have a list of differences between Visual dBase V5.7
> and dBase Plus when it comes to using the DELETE command ?
>
> I am constantly having compatibility issues with using DELETE in
> Plus, when this used to be perfectly acceptable/functional in VdB 5.7.
>
> Sometimes I get this message:
>
> "Detabase Engine Error: Record/Key deleted".
>
> Well, DUH, the statement it points to is a DELETE and I am trying
> to (or it has succeeded) DELETE the record in a database due to a
> condition being met !
>
> This program works just fine in 5.7 ?
>
> What gives ?


As far as I know the difference, (when you are using a work area), is
that changes you make to
SET DELETED
are not retained in the .INI file. Therefore the 32 bit versions of
dBASE always start up with Set Deleted = ON. If you want it to behave
like VdB5.7, (when using a work area), just issue the command
SET DELETED OFF.

OODML does not respect the SET DELETED command and always behaves as if
SET DELETED = ON. As far as I know this behavior was established at the
beginning of the 32 bit product in order to make .DBF tables appear to
behave more like virtually every other database environment.

Gerald
Zoltan Forray

2005-10-20, 8:26 pm

Thanks for the reply.

Unfortunately, this doesn't address why a DELETE (using "work areas") fails/errors for no apparent reason !

Gerald Lightsey Wrote:

> On Sun, 16 Oct 2005 17:17:27 -0400, in the dbase.programming group,
> Zoltan Forray said...
>
> As far as I know the difference, (when you are using a work area), is
> that changes you make to
> SET DELETED
> are not retained in the .INI file. Therefore the 32 bit versions of
> dBASE always start up with Set Deleted = ON. If you want it to behave
> like VdB5.7, (when using a work area), just issue the command
> SET DELETED OFF.
>
> OODML does not respect the SET DELETED command and always behaves as if
> SET DELETED = ON. As far as I know this behavior was established at the
> beginning of the 32 bit product in order to make .DBF tables appear to
> behave more like virtually every other database environment.
>
> Gerald


Gerald Lightsey

2005-10-20, 8:26 pm

On Tue, 18 Oct 2005 14:18:28 -0400, in the dbase.programming group,
Zoltan Forray said...
> Unfortunately, this doesn't address why a DELETE (using "work areas")
> fails/errors for no apparent reason !


If set deleted is ON, (the default in 32 bit dBASE), then a deleted
record is not seen just as a record that is excluded from a filter
cannot be seen or operated upon. That is the design intent in these
versions to make a record disappear when it is deleted just like other
DBM's which only have a hard delete and not a soft delete like .DBF
tables have always had. A lot of that design intent is intended to work
around the problem of having to have exclusive use of a table before a
record can be packed, (hard deleted), after a soft delete.

Gerald
Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com