I've been developing an app that creates a secuential number depending on the region-year-casetype-seqnum for example Car2019Ley121-002. This sequential number is form in the text property of the label and is store at the Submit buttom. The problem is that, at testing, I had duplicity of the same number under the same conditions. If two employees under the same conditions (same region, same case type,etc ) consult the next number to be, it could happen that at the time to save the info, they have assign the same number in the sequence. Can I lock the SQL table before the submition to avoid duplicity? I need to assign a temporary number before writing at the SQL table?
Any help I will appreciate.
I change my primary key but also I think the problem is that the sequential number is built in the text property when I invoke the form. The user consult the next number but is not until the summit buttom that the number is written in the table. In that period of time when the user is filling the others fields another user could consult and asign the same sequential number. Thats why I was asking if I could lock the table or asign a temporary number.
Hi @Veronica ,
I think you've found a common problem that most databases have. There are only a few ways of ensuring duplicate values aren't set when two users create records at the same time. This is usually something delegated to the database to handle using:
primaryKeyColumnName INT IDENTITY(1,1) NOT NULL PRIMARY KEY
Here are the docs on `IDENTITY`
Hope this helps!
I think if I understood you correctly you want to store in the table the primary key you generate from the app and you don't want it to duplicated. Is that corrected ?
If so, you may possiblely patch the table whenever first user starts to use one number ( may be write the patch in a control select etc) with a status and then delete it if the user is not completing the rest of the fields.
By this any user logs in to use the same number will find it with the status "in progress" and can't use it again.
Hope this helps.