2012-07-28 66 views
2

我正在C#中使用SQL做后端。在C中连接一个字符串和一个数字#

我想插入SQL例如ABC001代码,其中ABC来自于公司表和001EMPLOYEE表即最后ID+1但在001,002...999的形式完成WRT到emp_id

我该怎么办ID+1它的一部分?

+0

我们需要更多的信息,即表之间的关系。 – Spikeh 2012-07-28 12:33:22

+0

那么,为什么你想要构造一个复合键并将其存储在一列中?你可以把它作为独立的CompanyID和emp_id列存储起来,并且不会后悔决定...... – 2012-07-28 12:34:35

+0

嗨,也许我不清楚我想做什么。基本上在C#表格中,输出必须是ABC001,即公司表中的ABC和员工表中的001。我需要的是我如何在C#表格中执行001,002 .....对不起,错误.. – user1557308 2012-07-28 12:45:06

回答

2

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

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

string result = comp + (emp_id+1).ToString("000"); 
2

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

计算成本低,不构建自己的密钥生成函数的简化是真正的胜利。

+0

嗨,也许我不清楚我想做什么。基本上在C#表格中,输出必须是ABC001,即公司表中的ABC和员工表中的001。我需要的是我如何在C#表格中执行001,002 .....对不起,错误.. – user1557308 2012-07-28 12:45:48

0

不知道你在做什么after.But如果你正在寻找更新从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); 

编辑:按照注释,

如果你正在寻找一种方式来连接ABC和1 ABC001的形式,这将做

string firstPart="ABC"; 
int number=1; 
string result=firstPart + String.Format("{0:000}", number); 
+0

谢谢,但这里的输入是ABC001。虽然我正在寻找的是一种连接ABC和1的形式ABC001 – user1557308 2012-07-28 13:04:02

+0

@ user1557308的方式:请参阅我更新的答案 – Shyju 2012-07-28 13:20:32

相关问题