登录 注册

查询个类别最大记录数,求优化

收藏
[C#] 标签: 2014-03-06 09:58
原始代码 全屏查看 0评 / 0藏 / 6032阅  跳至 / 56行
/// <summary>
        ///查询某种规则下先有记录最大数 chenbing 2014-03-05
        /// </summary>
        /// <param name="blnum"></param>
        /// <returns></returns>
         protected Dictionary<string,int>  GetMaxList(string rule,ref string blnum)
        {
            Dictionary<string, int> dic = new Dictionary<string, int>();
            dic.Add("A",0);
            dic.Add("B", 0);
            dic.Add("C", 0);
            dic.Add("A兼B", 0);
            dic.Add("B兼C", 0);

            System.Data.DataTable dt = da.GetTable("select a.*, c.name as bmlbname from dbo.Enterprise_WorkersMark  a  join dbo.smn_User b on a.WorkerID=b.ID join  BMLB c on  b.BMLB=c.[key] where a.cerNo like '" +rule+ "%'");//txtBef.Text.Trim() 

             //如果dt表有记录说明规则已存在
            if (dt != null)
            {
                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        string cerNo = dr["cerNo"].ToString();
                        cerNo = cerNo.Replace(dr["bmlbname"].ToString(), "");//去掉证书编号中报名类别内容
                        blnum = cerNo.Replace(rule,"");

                        switch (dr["bmlbname"].ToString())
                        {
                            case "A":
                                if (int.Parse(blnum) > dic["A"])
                                    dic["A"] = int.Parse(blnum);
                                break;
                            case "B":
                                if (int.Parse(blnum) > dic["B"])
                                    dic["B"] = int.Parse(blnum);
                                break;
                            case "C":
                                if (int.Parse(blnum) > dic["C"])
                                    dic["C"] = int.Parse(blnum);
                                break;
                            case "A兼B":
                                if (int.Parse(blnum) > dic["A兼B"])
                                    dic["A兼B"] = int.Parse(blnum);
                                break;
                            case "B兼C":
                                if (int.Parse(blnum) > dic["B兼C"])
                                    dic["B兼C"] = int.Parse(blnum);
                                break;
                        }
                    }
 
                }
            }
            return dic;
        }

最新评论

  · · · · · ·  (共0条)

目前还没有评论

登录后您才可以发表评论。 马上登录 立即注册
陈冰
2014-03-06加入
陈冰最近分享的代码
Back to Top