2

我正在使用 SQL 作为后端在 C# 中做一个项目。

我想在 SQL 中插入一个代码,例如 ABC001,其中 ABC 来自 COMPANY 表,并且001emp_idEMPLOYEE表中完成的,即最后ID+1但以001,002...999.

我该怎么做ID+1呢?

4

3 回答 3

2

不要这样做。这以通常不需要的方式违反了规范化。相反,将这两个字段存储为单独的列,如果您使用它来提供人类可读的标识符,请使用您的映射层来查询复合键而不是存储它。

计算很便宜,并且不构建自己的密钥生成函数的简化是真正的胜利。

于 2012-07-28T12:36:37.900 回答
2

如何在 C# 中连接字符串和数字?

string result = string.Format("{0}{1:000}", comp, emp_id+1);

或者

string result = comp + (emp_id+1).ToString("000");
于 2012-07-28T12:58:38.430 回答
0

不知道你在追求什么。但如果你正在寻找从格式 ABC001 更新为 ABC002、ABC003 等的字符串,下面的 C# 代码会假设你想增加最后 3 的数字部分原始字符串的字符。(你提到了 0 到 999)

        string sourceString = "ABC001";
        string numberPart = sourceString.Substring(sourceString.Length - 3, 3);
        string firstPart = sourceString.Substring(0, sourceString.Length - 3);
        int newNumber = Convert.ToInt32(numberPart);
        newNumber++;
        string resut = firstPart + String.Format("{0:000}", newNumber);

编辑:根据评论,

如果您正在寻找一种以 ABC001 的形式连接 ABC 和 1 的方法,则可以这样做

string firstPart="ABC";
int number=1;
string result=firstPart + String.Format("{0:000}", number);
于 2012-07-28T12:39:23.243 回答