Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Currupt tables after going from 16 to 32 bit

Posted on 2002-06-06
11
149 Views
Last Modified: 2010-04-04
Hello,

We recently upgraded our 16 bit Delphi application to 32 bit for our users.  Each user has 3 Database tables.  
In some instances, after installing the software their tables appear to be corrupt. The users would get "Master record Missing" errors when attempting to add date.

It appears that there are ophen records in the third table. To fix it...we do a query on the table and save it. Then we go into the table via Paradox and delete all the records and then import the saved query. The ophen records are then rejected.

Is there any way to fix this or an easier way to fix it so we aren't bombarded with problems when they all start installing it at once.
0
Comment
Question by:reenie1
  • 5
  • 4
  • 2
11 Comments
 
LVL 27

Accepted Solution

by:
kretzschmar earned 200 total points
ID: 7060043
you could use a simple query like

delete from childtable where master_id not in (select id from mastertable)

not tested

meikl ;-)

0
 
LVL 6

Expert Comment

by:swift99
ID: 7061137
I would be concerned about orphan records.  

One of your processes is performing a partial commit or partial rollback, or possibly the master record delete process is incomplete.  Or, of course, you may simply have exposed a bug in the referential integrity of an earlier version of the BDE.

Cleaning up the data is one thing, but you want to be certain of _why_ the records are orphan before committing to a code release.
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7061190
>certain of _why_ the records are orphan before
>committing to a code release.

guessing in the earlier release was no referential
integrity implmented

>performing a partial commit or partial rollback

not possible with paradox-tables (no sql server)

meikl ;-)
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 6

Expert Comment

by:swift99
ID: 7061212
> not possible with paradox-tables (no sql server)

meikl: too true.  I've been out of the ISAM world too long.
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7061220
>I've been out of the ISAM world too long.
i too, but some cases i can remember :-))
0
 
LVL 6

Expert Comment

by:swift99
ID: 7061332
> not possible with paradox-tables (no sql server)

but it is possible that the buffers were not flushed fully when the application terminated ...
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7061345
yes, but only by an abnormal abend->means crash
0
 
LVL 6

Expert Comment

by:swift99
ID: 7061356
they must have fixed things in the BDE since I last used it for ISAM work.  I used to have no end of problems if I didn't explicitly call its flush bufers method with paradox tables before closing the app.   :o)
0
 

Author Comment

by:reenie1
ID: 7061785
The strange thing is that the orphan records were dated 1998. We created this system in 99 and users could only add years from 1999 and up (the year is part of the key)
We did not allow them to add detail records without a master record for any particular year.
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 7061887
seems something went wrong with the 16 bit app,
maybe the user adds master and details for 1998 by mistake
and then the user deletes the master-record

is this possible in the old app?

meikl ;-)
0
 

Author Comment

by:reenie1
ID: 7063102
I wasn't sure who to award points to but I guess since you were the first and i'll have to delete the masterless children..you get the points.

I think you were all correct in that there were referential integrity problems in the prior version because i now remember some users lost master records..and when they were readded, the child records showed up. So apparently the children remained in the table even thought the parent was gone.

Thanks everyone.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question