我正在C#中使用SQL做後端。在C中連接一個字符串和一個數字#
我想插入SQL例如ABC001代碼,其中ABC來自於公司表和001
從EMPLOYEE
表即最後ID+1
但在001,002...999
的形式完成WRT到emp_id
。
我該怎麼辦ID+1
它的一部分?
我正在C#中使用SQL做後端。在C中連接一個字符串和一個數字#
我想插入SQL例如ABC001代碼,其中ABC來自於公司表和001
從EMPLOYEE
表即最後ID+1
但在001,002...999
的形式完成WRT到emp_id
。
我該怎麼辦ID+1
它的一部分?
如何在C#中連接字符串和數字?
string result = string.Format("{0}{1:000}", comp, emp_id+1);
或
string result = comp + (emp_id+1).ToString("000");
不要這樣做。這違反了正常化的方式,通常是不需要的。相反,將這兩個字段作爲單獨的列存儲,如果您使用它來提供人類可讀標識符,請使用映射圖層對組合鍵進行查詢而不是存儲它。
計算成本低,不構建自己的密鑰生成函數的簡化是真正的勝利。
嗨,也許我不清楚我想做什麼。基本上在C#表格中,輸出必須是ABC001,即公司表中的ABC和員工表中的001。我需要的是我如何在C#表格中執行001,002 .....對不起,錯誤.. – user1557308 2012-07-28 12:45:48
不知道你在做什麼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);
謝謝,但這裏的輸入是ABC001。雖然我正在尋找的是一種連接ABC和1的形式ABC001 – user1557308 2012-07-28 13:04:02
@ user1557308的方式:請參閱我更新的答案 – Shyju 2012-07-28 13:20:32
我們需要更多的信息,即表之間的關係。 – Spikeh 2012-07-28 12:33:22
那麼,爲什麼你想要構造一個複合鍵並將其存儲在一列中?你可以把它作爲獨立的CompanyID和emp_id列存儲起來,並且不會後悔決定...... – 2012-07-28 12:34:35
嗨,也許我不清楚我想做什麼。基本上在C#表格中,輸出必須是ABC001,即公司表中的ABC和員工表中的001。我需要的是我如何在C#表格中執行001,002 .....對不起,錯誤.. – user1557308 2012-07-28 12:45:06