使用前缀生成序列号

时间:2013-04-29 14:04:34

标签: vb.net

我需要为每个“客户”分配一个唯一的号码。基本上是账号左右。我需要生成一个带有前缀的序号...比如说... 10001111到最终19999999.这些数字必须是唯一的。我知道如何创建一个随机数,但这些数字必须是唯一的,不能重复,所以我不知道如何开始编程逻辑。我找到了一些有用的C#,但我在VB.NET中编程。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

老实说,我不明白为什么你需要做比SQL Server中的Identity Column更复杂的事情。

CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

来源:W3 Schools

然后,您可以撤回客户数据,并以静态或动态方式为此预先添加前缀。

一个静态的例子是

SELECT 'CUST-' + P_Id [CustomerNumber], LastName
FROM Persons

但没有什么能阻止你在列中添加前缀并动态加入它们(如果你需要存储多个前缀)。

在一天结束时,您需要一个持久存储来确保您获得一个唯一的号码。您可以利用为此目的而编写的数据库服务器,而不是重新发明轮子。

你也可以在数据库中有一个表,其中的工作是存储最新的ID号,你可以手动增加和更新它,但我不是那个的忠实粉丝。太乱了。

答案 1 :(得分:1)

执行此类操作的一种常见方法是立即生成所有可能性,并将它们存储在列表中。如果要创建新客户,请从列表中选择一个随机数,然后将其从该列表中删除,以便不能再次使用。我不知道你的场景会有多实用。