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

时间:2011-09-04 11:29:50

标签: c# sql unique

美好的一天

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

现在我需要将我的客户ID存储如下,ID需要包含一个字母字符A,B,C,D或E,然后是完全正确的数字数字,这些数字需要留下来填充零到八位数。

请帮助。

2 个答案:

答案 0 :(得分:2)

您可以在C#代码或数据库中生成您的ID,有两种语言可以使用这些技术。

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

作为最后一个注释,我个人不会将此字段用作表的主键,我仍然会使用服务器生成的int标识(自动增量)作为PK(例如将其称为ID),我会在你提到的这个CustomerID列上添加一个UNIQUE NONCLUSTERED INDEX。

在这里查看为SQL Server填充前导零方法:http://www.sqlusa.com/bestpractices2005/padleadingzeros/

答案 1 :(得分:1)

不确定您的要求到底是什么,但希望这对您有所帮助..

        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是否已经存在。