生成分类表中分类编号的方法

用到了dapper,分类表结构:id,createtime,caname,bh,pbh,remark

/// 生成分类表中分类编号 
    /// 父编号
    /// 每一级编号的位数
    /// 
    public string GenBH(string pbh, int x)
    {
        string sql = "select right(max(bh)," + x + ") from category where pbh='" + pbh+"'";
        using (var connection = ConnectionFactory.GetOpenConnection())
        { 
            string res = connection.QuerySingle(sql);
            if (string.IsNullOrEmpty(res))
            {
                int a = 1;
                if (pbh != "0")
                {
                    return pbh + a.ToString("d" + x);
                }
                return a.ToString("d" + x);
            }

            else
            {
                int a = int.Parse(res) + 1;
                int b = (int)Math.Pow(10, x);
                if (a <= b)
                {
                    throw new Exception("编号超过限制!");
                }
                if (pbh != "0")
                {
                    return pbh + a.ToString("d" + x);
                }
                return a.ToString("d" + x);
            }
        } 
    }

你可能感兴趣的:(生成分类表中分类编号的方法)