您好
我在我的项目中要求生成顺序ID,即从A1001, A1002
开始,在10,000之后,它应该从B1001, B1002,...B10000 ,C1001..
开始,依此类推。我通过下面的数据库表从数据库表中获取最大ID SQL
SELECT TOP 1 [ID_COLUMN]
FROM [NAME_OF_TABLE]
ORDER BY [ID_COLUMN] DESC
然后必须从我的ASPX页面后面的代码生成3个新的顺序ID,然后再将它们保存到Table。我查看了不同的可能性,但没有得到确切想要的东西。我尝试了以下链接> Auto Generate alphanumeric Unique Id with C#以及更多..但无法解决问题。
答案 0 :(得分:1)
如果您将当前值检索为字符串,则可以访问Substring方法来提取数字部分。然后,您可以使用int.Parse将数字部分转换为值,然后再递增并检查其新值。
提取数值和字符前缀,假设当前最大值存储在“id”中:
int value = int.Parse(id.Substring(1)); // 1000, 1001 ...
char prefix = id[0]; // A,B ...
要将前缀从A增加到B等,您可以使用以下代码:
prefix = (char)(prefix + 1); // A -> B ...
确保在增加值之前检查“Z”!
要汇总您可以使用的新ID:
string newid = prefix + value.ToString("0000");
您需要考虑的事项:
我希望这有帮助!