Productというテーブルがあります(ProductCodeフィールドのデータ型はvarcharです):
ID ProductName ProductCode
1 aaa 0001
2 bbb 0002
3 ccc 0004
4 ddd 0006
5 eee 0007
6 fff 0008
私の問題は次のとおりです。現在の場合、ProductCodeフィールドの値は「0006」です。「0009」の値を生成したいと思います。
public string GenerateNumber(string codeNumber)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from Product");
strSql.Append(" where ProductCode=@codeNumber");
SqlParameter[] parameters = {
new SqlParameter("@codeNumber", SqlDbType.NChar,8)
};
parameters[0].Value = codeNumber;
bool existInDatabase = SQLHelper.Exists(strSql.ToString(), parameters);
if (existInDatabase)
{
this.GenerateNumber((Convert.ToInt32(codeNumber) + 1).ToString().PadLeft(4, '0'));
}
return (Convert.ToInt32(codeNumber) + 1).ToString().PadLeft(4, '0');
}
この関数を:GenerateNumber( "0006")のようなものと呼びます
結果は0009を返しますが、そうではありません!
誰かが私を助けることができますか?ありがとう、私は初心者です!