Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 客户端ID:指定的唯一标识符_C#_Sql_Unique - Fatal编程技术网

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

C# 客户端ID:指定的唯一标识符,c#,sql,unique,C#,Sql,Unique,你好 我正在从事一个捕获客户详细信息的小项目,使用VisualStudio2010中的C Sharp和SQL数据库 现在我需要将我的客户ID存储如下,ID需要由一个字母字符A、B、C、D或E组成,后面紧跟八位数字,这些数字需要用零填充,才能有八位数字 请寻求帮助。不确定您的具体要求,但希望这对您有所帮助 Random r1 = new Random(); int num = r1.Next(0, 99999999); // generate random numb

你好

我正在从事一个捕获客户详细信息的小项目,使用VisualStudio2010中的C Sharp和SQL数据库

现在我需要将我的客户ID存储如下,ID需要由一个字母字符A、B、C、D或E组成,后面紧跟八位数字,这些数字需要用零填充,才能有八位数字


请寻求帮助。

不确定您的具体要求,但希望这对您有所帮助

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

不确定您的具体要求,但希望这对您有所帮助

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

您可以在C代码或数据库中生成ID,有两种语言的技术可以做到这一点

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

最后,我个人不会将此字段用作表的主键,我仍然会使用服务器生成的int标识(自动递增)作为PK(例如,简单地称之为ID),并且我会在您提到的CustomerID列上添加一个唯一的非聚集索引


请看一下SQL Server的填充前导零方法:

您可以在C代码或数据库中生成ID,这两种语言中都有实现此目的的技术

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

最后,我个人不会将此字段用作表的主键,我仍然会使用服务器生成的int标识(自动递增)作为PK(例如,简单地称之为ID),并且我会在您提到的CustomerID列上添加一个唯一的非聚集索引


请看一下SQL Server的填充前导零方法:

不清楚您到底想要什么。您已经说明了您的需求,但没有说明您遇到了什么困难,如何分配客户ID等。字母标识符可能是随机的,我想知道是否有一种方法可以直接在我的sql数据库中实现它,或者最好是硬编码。正确的实现方法是什么?避免重复并保留我的应用程序stable@Jean,不清楚你到底在问什么。你是在问如何生成ID吗?或者检查它们的格式是否正确?还是别的什么?不清楚你到底想要什么。您已经说明了您的需求,但没有说明您遇到了什么困难,如何分配客户ID等。字母标识符可能是随机的,我想知道是否有一种方法可以直接在我的sql数据库中实现它,或者最好是硬编码。正确的实现方法是什么?避免重复并保留我的应用程序stable@Jean,不清楚你到底在问什么。你是在问如何生成ID吗?或者检查它们的格式是否正确?还是别的什么?