码迷,mamicode.com
首页 > Web开发 > 详细

asp.net给文件分配自动编号,如【20140710-1】

时间:2014-07-10 22:31:32      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:des   文件   数据   os   2014   问题   

        在开发办公软件的时候,需要给很多文件什么的东西分配一个编号,是按照日期来的,比如2014.07.10的第一个文件编号就为20140710-1,这一天的第二个文件编号就为20140710-2,以此类推......

        我在最近的编程开发中也遇到了类似的问题,经常好几次的修改,终于出来一下方法,较之修改前,这中方法的编号紊乱率大大降低,因为不可能在一个相同时间(精确到秒,甚至更小),两个人同时操作。

        不扯这些了,我这个只是自己弄出来的一个方法,也希望大家能找到更好的方法,能完全解决两个人同时操作的问题,下面就直接上代码了

public string autoNum()
    {
        string serialnum = string.Empty;
        string tyear = DateTime.Now.Year.ToString();
        string tmonth = DateTime.Now.Month.ToString();
        if (Convert.ToInt32(tmonth) < 10)
        {
            tmonth = "0" + tmonth;
        }
        string tday = DateTime.Now.Day.ToString();
        if (Convert.ToInt32(tday) < 10)
        {
            tday = "0" + tday;
        }
        string prefixdate = tyear + tmonth + tday;
        SqlHelp sqlx = new SqlHelp();
        string strfacx = "select * from tLabelConfirm where SerialNumber like '%" + prefixdate + "%'";//tLabelConfirm是我的一个数据表,而SerialNumber是该表中的一个唯一字段,也就是文件编号
        SqlDataReader drx = sqlx.ExecuteReader(strfacx);//代码中的数据表和字段,可以根据自己的实际情况而修改的哦
        drx.Read();
        if (drx.HasRows)
        {
            drx.Dispose();
            sqlx.SqlClose();
            string ser = string.Empty;
            SqlHelp sqly = new SqlHelp();
            string strfacy = "select top 1 * from tLabelConfirm where SerialNumber like '%" + prefixdate + "%' order by LabelID desc";
            SqlDataReader dry = sqly.ExecuteReader(strfacy);
            dry.Read();
            if (dry.HasRows)
            {
                ser = dry["SerialNumber"].ToString();
            }
            dry.Dispose();
            sqly.SqlClose();
            string suf = ser.Substring(ser.IndexOf("-") + 1);
            int suffix = Convert.ToInt32(suf) + 1;
            serialnum = prefixdate + "-" + suffix.ToString();
        }
        else
        {
            drx.Dispose();
            sqlx.SqlClose();
            serialnum = prefixdate + "-" + "1";
        }
        return serialnum;
    }


asp.net给文件分配自动编号,如【20140710-1】,布布扣,bubuko.com

asp.net给文件分配自动编号,如【20140710-1】

标签:des   文件   数据   os   2014   问题   

原文地址:http://blog.csdn.net/yangmingxing980/article/details/37650551

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!