是别人的,在此转发 一般自动编号功能,是先取得表中的已有最大号,然后在此基础上加1,如果每次生成编号都要从表中去取得最大编号,也就意味着每次生成编号都需要查询表中所有的记录,如果表中数据量很大,如有十万条以上,那么性能就很差了。(当然数据库引擎会有优化,但再优化总归是有限的)。并且这种方法在多用户同时录入时,存在生成重复编号的问题。 本示例采用的方式为:调用GetNewID函数时,从编码表(USysSN)中读取指定编号字段对应的编号记录,如果记录为空,则先从原表中读取最大编号写入到该记录中;如果记录不为空,则读取该记录中的编号,并加1生成新编号,同时将编码表中的编号更新为新生