2

SQL をバックエンドとして使用して C# でプロジェクトを行っています。

ABC001 などの SQL にコードを挿入したいのですが、ABC は COMPANY テーブルから取得され、テーブルから wrt で行わ001れます。つまり、最後に.emp_idEMPLOYEEID+1001,002...999

その部分をどのように行うことができID+1ますか?

4

3 に答える 3

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 に答える
2

これをしないでください。これは、通常は不要な方法で正規化に違反します。代わりに、両方のフィールドを個別の列として保存し、これを使用して人間が判読できる識別子を提供する場合は、マッピング レイヤーを使用して、保存するのではなく、複合キーに対してクエリを実行します。

計算は安価であり、独自の鍵生成関数を作成しないという単純化は真のメリットです。

于 2012-07-28T12:36:37.900 に答える
0

何を求めているのかわかりませんが、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);
于 2012-07-28T12:39:23.243 に答える