SQL をバックエンドとして使用して C# でプロジェクトを行っています。
ABC001 などの SQL にコードを挿入したいのですが、ABC は COMPANY テーブルから取得され、テーブルから wrt で行わ001
れます。つまり、最後に.emp_id
EMPLOYEE
ID+1
001,002...999
その部分をどのように行うことができID+1
ますか?
C# で文字列と数値を連結する方法は?
string result = string.Format("{0}{1:000}", comp, emp_id+1);
また
string result = comp + (emp_id+1).ToString("000");
これをしないでください。これは、通常は不要な方法で正規化に違反します。代わりに、両方のフィールドを個別の列として保存し、これを使用して人間が判読できる識別子を提供する場合は、マッピング レイヤーを使用して、保存するのではなく、複合キーに対してクエリを実行します。
計算は安価であり、独自の鍵生成関数を作成しないという単純化は真のメリットです。
何を求めているのかわかりませんが、ABC001 から ABC002、ABC003 などの形式の文字列を更新する場合は、最後の 3 である数値部分を増やしたいと仮定して、以下の C# コードを実行します。元の文字列の文字。(あなたは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);