比如一天要进好几笔货,每笔货又可能会有多种货品,怎么能生成这样的一个单号,保证不重复?看到有不少软件中有用日期加每天的入库次数来形成单号的,但是对于多客户端怎么操作?毕竟你不能用最大的单号加一,那其他客户端岂不是也有可能和你的相同?而且客户还可能调整日期,假如调整到历史的某一天,还得能从那天判断下一个单号该是多少?怎么处理这个问题才好?求高手指点。谢谢。

解决方案 »

  1.   

    如bohut(伯虎)所说,
    但是一般这个唯一的号可以有数据库来生成。如果是分布式的,那就只有这样了。
      

  2.   

    uiid简单,但生成的数据没有意义,还挺长。
    1.如果与服务器端实时通讯,可以由服务器端生成。
    2.还有一种办法就是要计算出各个客户端可能的最大值,每个客户端分配一个数据段。
      

  3.   

    http://community.csdn.net/Expert/TopicView.asp?id=3544375
      

  4.   

    各位老大,没这么复杂吧?我又不是做银行系统,普通企业的进出库哪有那么多笔?我只是想用日期+数字来形成,但是没有什么好的办法,所以觉得改用long型数字算了,也足够使了。感谢各位的帮忙。
    DebugXP(NULL)你的方法我觉得不是很合适,如果在把数据输入到数据库的时候去形成一个单号,用你的方法很合适,但是要在客户输入数据的时候就提前显示出一个单号来,就不是这么简单了。因为多个客户端都可能到数据库中去查询最大的单号,然后加一,这样几个客户端岂不都在向一个单据中输入数据了?