嗨
我的项目中有一个要求生成顺序ID,即从A1001, A1002开始,在10,000之后,它应该从B1001, B1002,...B10000 ,C1001..开始,等等。使用下面的SQL从数据库表中获取最大ID
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#和更多..。但无法解决问题。
发布于 2014-02-27 14:37:32
如果以字符串的形式检索当前值,则可以访问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");你需要考虑的事情:
我希望这能帮到你!
https://stackoverflow.com/questions/22071108
复制相似问题