zoukankan      html  css  js  c++  java
  • asp.net给文件分配自己主动编号,如【20140710-1】

            在开发办公软件的时候,须要给非常多文件什么的东西分配一个编号。是依照日期来的,比方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;
        }


  • 相关阅读:
    AllowsTransparency和WebBrowser兼容性问题解决方案
    webbrowser和js交互小结
    wpf数据验证实例及常用方法小结
    Scrum 冲刺第一天
    Scrum 冲刺第二天
    1625 宝石项链 大视野评测
    1082栅栏 大视野评测
    bzoj 1606: [Usaco2008 Dec]Hay For Sale 购买干草
    1639 月度开支 大视野评测
    1650 跳石子 大视野评测
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7354120.html
Copyright © 2011-2022 走看看