C# 客户端ID:指定的唯一标识符
你好 我正在从事一个捕获客户详细信息的小项目,使用VisualStudio2010中的C Sharp和SQL数据库 现在我需要将我的客户ID存储如下,ID需要由一个字母字符A、B、C、D或E组成,后面紧跟八位数字,这些数字需要用零填充,才能有八位数字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
请寻求帮助。不确定您的具体要求,但希望这对您有所帮助
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吗?或者检查它们的格式是否正确?还是别的什么?