我需要为每个“客户”分配一个唯一编号。基本上是一个帐号左右。我需要生成一个带有前缀的序列号......比如说...... 10001111 到最终 19999999。这些数字必须是唯一的。我知道如何创建一个随机数,但这些数字必须是唯一的并且不能重复,所以我被困在如何从编程逻辑开始。我发现一些 C# 会有所帮助,但我正在使用 VB.NET 进行编程。任何帮助,将不胜感激!
问问题
1833 次
2 回答
2
老实说,我不明白为什么你需要做比 SQL Server 中的标识列更复杂的事情。
CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
资料来源:W3 学校
然后,您可以将客户数据拉回并为其添加静态或动态前缀。
一个静态的例子是
SELECT 'CUST-' + P_Id [CustomerNumber], LastName
FROM Persons
但是没有什么能阻止您将前缀添加为列并动态加入它们(如果您需要存储多个前缀)。
归根结底,您需要一个永久存储来确保您获得一个唯一的号码。您可以利用为此目的编写的数据库服务器,而不是重新发明轮子。
您还可以在数据库中拥有一个表,其工作是存储最新的 ID 号,您可以手动增加和更新它,但我不喜欢这样做。太乱了。
于 2013-04-29T14:26:09.297 回答
1
做这种事情的一种常见方法是一次生成所有可能性,并将它们存储在一个列表中。当您要创建新客户时,请从列表中选择一个随机数,然后将其从该列表中删除,以使其无法再次使用。我不知道这在您的情况下有多实用。
于 2013-04-29T14:08:05.857 回答