Solved

multi-user paradox tables

Posted on 1997-04-23
7
405 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
[X]
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
  • 4
  • 2
7 Comments
 
LVL 2

Expert Comment

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

Expert Comment

by:javiertb
ID: 1335681
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
ID: 1335682
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 2

Expert Comment

by:javiertb
ID: 1335683
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
ID: 1335684
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
ID: 1335685
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
ID: 1335686
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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

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…
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…
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

726 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