2012-07-28 107 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

相關問題