Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
ID field
Message
From
16/11/2006 06:14:07
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01170010
Message ID:
01170183
Views:
18
This message has been marked as a message which has helped to the initial question of the thread.
>>>Hi everybody,
>>>
>>>AFAIK there is no way in multi-user environment to have ID field incremented correctly without using extra table to keep the last ID (if we're not using autoincrement field). Using go bottom, grab the last number and start from there doesn't prevent two users from taking the same ID. Even if we put a check right after for the existance of ID.
>>>
>>>What do you think? Given only one table and no auto-increment is it possible to correctly auto-increment in multi-user environment?
>>>
>>>Thanks.
>>
>>There is no need to increment an ID field. Use GUID.
>>Cetin
>
>It's not really an ID. It's Invoice Number.

Invoice numbers are human generated things, no?
Else no luck, there would be gaps or higher ID with earlier date situations (in theory there is no way, in practice there shouldn't be).
Think of this you and me request new ID almost at the same time, you get 25 and I get 26. So far so good. However you decide to cancel insertion, I insert. Next day someone comes and gets 25 or 27. Both have different problems, one is out of sequence time wise, other is leading to gaps.
However there is one way, assign the ID during commit, not before and prevent deletes. That means for a fox table you could simply use committed record's recno as ID. On an invoicing system these might be acceptable (no deletion etc).
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform