是这样,我想实现一个自动编号,比如今天是2006年11月3日,我想得到今天第一笔编号为:200611030001
明天第一笔编号就是200611040001在当天的业务是自动累加的,到第二天的业务自动再从0001开始计算
请问如何做?

解决方案 »

  1.   

    DateTime.GetYear
    DateTime.GetMonth
    .....
      

  2.   

    DateTime.Year  
    DateTime.Month
    DateTime.Day
    编号用int type做++
    再做ToString()
    最后相加
      

  3.   

    DateTime.Now.GetYear()
    DateTime.Now.GetMonth()
      

  4.   

    DateTime.Today.ToString("yyyyMMdd"),再用自动排序生成0001,再拼接两个字符串
      

  5.   

    序号 = (int.Parse(last编号.Substring(8))+1).ToString();
    new编号 = DateTime.Today.ToString("yyyyMMdd") + 序号;
      

  6.   

    首先要考虑客户机与服务器的时间同步。
    在同步时间后,可以用DateTime.Today.ToString("yyyyMMdd")来作。
    如果是直接连数据库或三层的话,都可以通过存储过程来生成你的ID。这样就不需要进行C\S的时间同步了。
      

  7.   

    可以执行SQL语句
    select getdate()
    来得到服务器的时间
      

  8.   

    通过sql语句查询吧,如果是sqlserver,用select getdate()
    oracle 用SELECT TO_Char(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL
      

  9.   

    好弄!   
    1  想办法弄成:2006  09(月份是2为的)  01(日期是2为的)  0001这个不管(因为他最后截取,不够4位就补0 : if(sNum.length <4){ "0"+sNum; 递归这个函数} else{ return sNUm} )拼成 string  name = year(2006) + month(09) + day(01) +sNum ;insert into table(File_Name)values(name)------------------
    读取
       select  Max(File_Name) from table where  File_Nname  like '20060901%'