用一个No表,来存取datetime和No。然后用一个存储过程还return一个主键字段ID。先更新No表,根据datetime不同No+1,然后取最后的值。结合时间构建ID。注意加锁。
设置一个自增的字符串和日期拼接唄,查询的时候也好查了
方法有好多,不过没有什么方法是又好用,又效率高,又可以一劳永逸,又可以三句话说清楚的。
如果你使用WINFORM开发,理论上来说超过100个客户端的项目的话,已经是说多不多,说少不少的项目费用了,专门拨个一周时间为这个设计一个方案也是可行的。
主要考虑几点
1、客户机的日期时间可能是错的。
2、取编号、增加编号时的并发冲突处理
3、并发冲突处理不完善造成的单据号重复如何处理。
4、刚刚看了一下,你打算用这个当主键,这个我是不建议的。但你硬要拿这个当主键的话,其实主键冲突肯定是保存不了的,所以你也不用管并发冲突了,只要在保存的时候处理一下。
5、再次说明,不要用这个当主键。
再用一个单独的表控制生成这个编号