客户端ID:唯一指定的标识符

本文关键字:标识符 唯一 ID 客户端 | 更新日期: 2023-09-27 18:07:22

我正在做一个捕获客户详细信息的小项目,使用Visual Studio 2010中的C Sharp和SQL数据库。

现在我需要使我的客户ID存储如下,ID需要由一个字母字符A, B, C, D或E后面跟着正好八个数字,这些数字需要左填零正好有八个数字。

客户端ID:唯一指定的标识符

您可以在c#代码或数据库中生成您的ID,这两种语言都有相应的技术。

就我个人而言,我会在用户定义函数的帮助下在SQL中生成它,这样你就知道每次插入都是由服务器生成的,在我看来你对它有很好的控制,另一方面,这样做你必须将它检索到代码以将值绑定回你的实体(如果需要)。

最后一点,我个人不会使用这个字段作为表的主键,我仍然会使用服务器生成的int标识(自动递增)作为PK(例如,简单地称之为ID),并且我会在您提到的这个CustomerID列上添加一个UNIQUE NONCLUSTERED INDEX。

看一下SQL Server的填充前导零方法:http://www.sqlusa.com/bestpractices2005/padleadingzeros/

Random r1 = new Random();
int num = r1.Next(0, 99999999); // generate random number
string number = string.Format("{0:D8}", num);
Random r2 = new Random();
int num2 = r2.Next(0, 26); // generate random letter
char letter = (char)('A' + num2);
string id = letter + number; // join both as ID 

生成的编号可能不是唯一的,插入新记录时可能需要检查生成的ID是否已经存在