zoukankan      html  css  js  c++  java
  • 生成像这样得编号 XX2007032100001


        
    /// <summary>
        
    /// 最后一个编号 XX200703060001
        
    /// </summary>
        
    /// <param name="fieldName">字段ID号</param>
        
    /// <param name="tableName">表得名字</param>
        
    /// <returns></returns>

        public static object GetLastCode(string fieldName, string tableName, int autoBuildCodeLength)
        
    {
            
    string executeString = "SELECT " + fieldName + " FROM " + tableName + " WHERE LEN(" + fieldName + ") = " + autoBuildCodeLength + " ORDER BY ID DESC";
            
    return Common.GetDatabase().GetFirstData(executeString, CommandType.Text);
        }


        
    /// <summary>
        
    /// 第一位为0
        
    /// </summary>

        private static int _autoBuildCount = 0;

        
    /// <summary>
        
    /// 自动生成编号 如 "XXXX" + 2007030600001 这样的
        
    /// "XXXX" 传来的
        
    /// </summary>
        
    /// <param name="codeFormat">编号得格式</param>
        
    /// <param name="fieldName">字段ID号</param>
        
    /// <param name="tableName">表得名字</param>
        
    /// <param name="autoBuildCodeLength">自动生成编号得长度</param>
        
    /// <returns></returns>

        public static string GetAutomatismBuildCode(string codeFormat, string fieldName, string tableName,int autoBuildCodeLength)
        
    {
            
    string yearMonthDay1 = "";
            
    string yearMonthDay2 = codeFormat + DateTime.Now.Year.ToString() +
                NumberIsLessThan10(DateTime.Now.Month) 
    +
                NumberIsLessThan10(DateTime.Now.Day);
            
    object autoBuildCode;
            
    string AutomatismNumber = "";

            autoBuildCode 
    = GetLastCode(fieldName, tableName, autoBuildCodeLength);
            
    if (autoBuildCode == null)
            
    {
                _autoBuildCount 
    = 1;
            }

            
    else
            
    {
                yearMonthDay1 
    = autoBuildCode.ToString().Substring(0, autoBuildCodeLength-5);
                
    if (yearMonthDay2 == yearMonthDay1)
                
    {
                    _autoBuildCount 
    = int.Parse(autoBuildCode.ToString().Substring(autoBuildCodeLength-55));
                }

                
    ++_autoBuildCount;
            }

            AutomatismNumber 
    = yearMonthDay2 + _autoBuildCount.ToString("00000");

            _autoBuildCount 
    = 0;
            
    return AutomatismNumber;
        }


        
    /// <summary>
        
    /// 判断月日是一位还是两位数
        
    /// </summary>
        
    /// <param name="aa"></param>
        
    /// <returns></returns>

        private static string NumberIsLessThan10(int monthOrDay)
        
    {
            
    if (monthOrDay < 10)
            
    {
                
    return "0" + monthOrDay.ToString();
            }

            
    return monthOrDay.ToString();
        }

     
    XX2007032100001

    这个每添加完一条记录时最后一位都自动加一

  • 相关阅读:
    10 个雷人的注释,就怕你不敢用!
    Java 14 之模式匹配,非常赞的一个新特性!
    poj 3661 Running(区间dp)
    LightOJ
    hdu 5540 Secrete Master Plan(水)
    hdu 5584 LCM Walk(数学推导公式,规律)
    hdu 5583 Kingdom of Black and White(模拟,技巧)
    hdu 5578 Friendship of Frog(multiset的应用)
    hdu 5586 Sum(dp+技巧)
    hdu 5585 Numbers
  • 原文地址:https://www.cnblogs.com/xiaotuni/p/2365766.html
Copyright © 2011-2022 走看看