我有一个名为 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,但不是!
谁能帮帮我?谢谢,我是新手!