网络环境下的复杂编号
普通用户可以忽略本节内容。
本节内容可以参考CaseStudy目录下的文件:网络环境下的复杂编号.table。
使用自动增量主键,例如_Identify列,能够有效解决编号的问题,即使是多人同时向一个表中增加行,也不会出现重复的编号。
但是自动增量主键只是一个数字,无法实现复杂的含有特殊信息的编号。
如果自己编码生成编号,如何避免在多人同时操作时产生重复的编号,是一个难题。
本节用一个简单的例子,来探讨如何解决这个问题。
本节的例子使用外部数据源,数据源文件为CaseStudy目录下的文件:编号.mdb
该文件只包括两个表,一个订单表,一个编号表。
希望订单表的编号能够自动生成,编号的格式为:0000-0000,左边四位为前缀,两位表示年,两位表示月,右边四位表示顺序号。
编号表并非常规的数据表,不加载到Foxtable中,而是直接通过SQL语句操作。
编号表包括两列,分别是:前缀和顺序号,前者为字符型,由两位年两位月组成,后者为整数型,用于保存此前缀的当前顺序号。