Sami,

That brings up an interesting idea.
What if we had a variable RECORDSAFFECTED
Which always returned the rows of the target table inserted, updated or 
deleted, regardless of how the insert, append, update, or delete was 
accomplished.

It is a VERY handy option in sytems where it is available.  It can make for 
simpler, more bulletproof code.

Dennis McGrath

________________________________
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Sami Aaron
Sent: Thursday, July 17, 2008 12:02 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Multi user R:Base on a LAN

Dennis -

Your method works on an INSERT statement - BUT the APPEND command will still 
give a SQLCODE = 0 even if there were no records found to be appended - so I 
always get the value of COUNT = INSERT into one variable BEFORE an APPEND, then 
compare it to the new value of COUNT = INSERT to be sure the APPEND really 
generated a new row.

Sami

____________________________
Sami Aaron
Software Management Specialists
913-915-1971
[EMAIL PROTECTED]



From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Dennis McGrath
Sent: Thursday, July 17, 2008 10:08 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Multi user R:Base on a LAN

Tom

IF SQLCode = 0 after the insert then you can test WHERE COUNT = INSERT to get 
the correct PK.

Otherwise you must handle the error.  If you ask for WHERE COUNT = INSERT after 
an error you will get the wrong info.

I just tested and SQLCODE is now correctly updated even if the applicable error 
message is turned off.
This is a fairly recent fix.

Dennis McGrath









________________________________
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED]
Sent: Thursday, July 17, 2008 9:45 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Multi user R:Base on a LAN

Tom:

If your app was designed to be single-user, there's another thing that could 
mess you up if you move to multiple users in addition to what others have 
mentioned.   Let's say you add a row into a table and want to grab the PK of 
the row you just entered; in single-user mode you might have used a command 
like "WHERE COUNT = LAST" ; this won't work because it could grab the row that 
another user just entered.  Instead use "WHERE COUNT = INSERT".   Just an FYI, 
this has bit me a couple times when I run across code that someone else has 
written!

Karen


We are moving our internal database project from our single user development 
machine out to 20 machines and eventually to users not directly connected to 
our LAN. Using Turbo8 compiler because of several other projects that have been 
requested. LAN is a mixture of speedy machines and some dogs that will need to 
be replaced at some point. Server works very well. We expect numerous problems 
based on the "didn't know I did not know that" paradigm. Our system works great 
on a single computer and has required "some" changes as we start moving to 
multiple machines. More will be coming. The differences between single user vs. 
multi user becomes very obvious once it does not work (particularly in demos) 
and you have to figure it out. Just part of the learning process.



Our question (which may seem very basic): Is there a best way to set up 
multi-user R:Base on a LAN system? Data is on Drive Y where we can secure 
direct access from inquiring mice. Is it best for the EXE/DLLs to also be on 
Drive Y or remain on individual machine's Drive C to access the Drive Y 
database. We have tried both ways and they work. The concern is LAN speed 
(particularly for some older computers) and conflicts between 
tables/temps/views that the software uses. It seemed having one network based 
EXE that multiple people can access would really effect our LAN speed/memory, 
while separate EXE/DLLs on desktops isolate some memory processes and be 
primarily limited to moving data. I have no doubt we have a lot to learn about 
data and logic conflicts as we go through this.



I remain amazed at just how much DYI groups like us can do with R:Base with 
some time, interest, and willingness to learn.

Reply via email to