当前位置: 代码迷 >> ASP.NET >> c#生成订单号,该怎么处理
  详细解决方案

c#生成订单号,该怎么处理

热度:2961   发布时间:2013-02-25 00:00:00.0
c#生成订单号
c#生成订单号按照时间和每天从00001开始

例如; 20120117091100001 前面是当日年月日时分 后面是00001,00002,00003....递增的

不用sql生成 用c#怎么弄?

------解决方案--------------------------------------------------------
class IDGenerator
{
........
public string CreateID();
}
------解决方案--------------------------------------------------------
这个么。。。很可能会有重复值啊

还是sql里弄吧。。
------解决方案--------------------------------------------------------
探讨

引用:
class IDGenerator
{
........
public string CreateID();
}




??????????????

------解决方案--------------------------------------------------------
你都要读数据库最大的ID出来才能拼出这个地址的。还不如直接在存储过程做。
------解决方案--------------------------------------------------------
C# code
            int max = 100;            System.Linq.Enumerable.Range(1, max).ToList().ForEach(i =>            {                string value = "0000000" + i.ToString();                Console.WriteLine("{0}{1}", DateTime.Now.ToString("yyyyMMddhhmm"), value.Substring(value.Length - 5));            });
------解决方案--------------------------------------------------------
C# code
    class Program    {        static void Main(string[] args)        {            Console.WriteLine(CreateOrderNumber("20120117091100001"));        }        /// <summary>        /// 生成新订单号        /// </summary>        /// <param name="thisOrderNumber">当前订单号</param>        /// <returns>返回新订单号</returns>        public static string CreateOrderNumber(string thisOrderNumber)        {            string num = thisOrderNumber.Substring(12, 5);            int newNum = int.Parse(num) + 1;            return DateTime.Now.ToString("yyyyMMddHHmm")+newNum.ToString().PadLeft(5,'0');        }    }
------解决方案--------------------------------------------------------
肯定要涉及数据库操作的吧,否则很容易出现重复的
  相关解决方案