Solved

multi-user paradox tables

Posted on 1997-04-23
7
393 Views
Last Modified: 2010-04-04
I'm having biiig problems with a Delphi application using Paradox tables in a multiuser environment.

When user A adds a record, user B doesn't see the record. I'm using queries to show the records. Even if user A executes the query a dozen times, it doesn't show up.

Only when user B exits the program, and starts it again, user B can see the record user A added.

Does anyone know this problem? (and has a solution?)
0
Comment
Question by:mannak042397
  • 4
  • 2
7 Comments
 
LVL 2

Expert Comment

by:javiertb
Comment Utility
What did you set your BDE config parameters to?
I mean paradox driver tab, and system tab.
0
 
LVL 2

Expert Comment

by:javiertb
Comment Utility
Anyway, you can't get the record added by another user until you execute your query again. So, in your example, user B won't be able to see the new added record until he (user B) executes the query again.


0
 

Author Comment

by:mannak042397
Comment Utility
As said, even when user B executes the query again, the new record cannot be seen by user B (untill he shuts down the program and starts it up again.

Paradox BDE config:
Version: 3.0
Type: FILE
Langdriver: Paradox 'intl'
Level: 4
Block size: 2048
Fill factor: 95
Strictintegrty: true

systemtab:
version: 3.0
local share: true
minbufsize: 128
maxbufsize: 2048
Langdriver: Paradox 'intl'
maxfilehandles: 48
sysflags: 0
Low memory usage limit: 32
auto odbc: false
default driver: paradox
sharedmemsize: 2048
sharedmemlocation: --empty--
data repository: sample data dictionairy
sqlqrymode: --empty--

0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
LVL 2

Expert Comment

by:javiertb
Comment Utility
What about the paradox driver net dirs of both clients?

Have you tried changing the tables from within Database Desktop in both clients at the same time? What happens?
0
 

Author Comment

by:mannak042397
Comment Utility
If I try to change values in tables using Database Desktop, something really strange happens. I ran this experiment on one pc (not attached to a network).

For example, I'm running my application and change a value in DD from 200 to 300 and post the change. Then I open a new window in my application, which has a TableX.Open statement.

DD still shows 300. Then I Edit the table, add a value to this value (TableXFieldY.Value := TableXFieldY.Value + 1;) and post the change.

In DD you can see the value change from 300 back to 201 (which is, of course 200+1)! It seems like BDE is caching tables.
0
 

Expert Comment

by:gdj
Comment Utility
See some tips for multi-use at
http://www.experts-exchange.com/Q.859418576

In my tests you cannot run a 16bit and 32bit delpi program on the same data, they create different .net files.  This caused a problem similar to the one you are having.

Try disabling the cache of Windows 95.

If one of the computers is the computer with the data on the local drive, try accessing that data from 2 remote PCs.  This would indicate some net / local cache Bugs in the OS.

Always use DbiSaveChanges(Table1.Handle);
this uses the dbiprocs unit.
0
 
LVL 2

Accepted Solution

by:
javiertb earned 200 total points
Comment Utility
I guess the user that made changes to data have to call then for QueryA.Refresh so information is flushed to disk. Did you already tried this?
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

763 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now