会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 编程心得绝招 > 经验泛谈 > 正文

浅谈断号重续的利弊和方法

时间:2013-11-06 16:38 来源:office中国 作者:layaman_999 阅读:
    不少网友都有断号重续的要求,看到断号就如手中钉,眼中刺一样难受,其实号码就是个字符嘛,资源是永远用不完的,追求连号其实大可不必要。
如果不是特殊需求,断号重续将会带来很大的麻烦。
断号重续的弊端如下:
 
1.严重影响数据库性能:
    每次编号之前,你必须要扫描全部编号数据,求出断号,然后再给它补上,更有追求完美者,甚至还有进行编号重排,天,累死电脑。如果编号有外键,那么全部要更改所有相关表。如果中途断电或发生错误,够你受的,轻点的,引发多用户并发问题,严重的,毁坏数据。
 
2.容易引起现实应用错误:
    例如:有一项编号0239的物品,资料做好后,你会给这项物品贴上0239的编号标签,有天不小心误删了这项数据后(不删就不会产生断号嘛,呵呵),因为要断号重续嘛,所以0239就被其它物品占用,然后你又会把0239的编号贴在另个物品上,(如果你的合作伙伴将这些编号记录入他 的系统,哇塞,更不得了)资料少,可以通过大脑来分辨,如果上万条数据呢?怎么去分辨?日积月累这将成为一个引向错误的方向,一旦发生这种错误,不仅会造成大小难定的损失,还会引发公司对数据可信度的质疑(剩下的工作就是对成千上万种物品一一核对编号,这是一件非常写意的事情)。
即使是QQ或电线运营商也不会轻易的对停用的通信号码去序号,可以想象一下,这将给用户造成多大的骚扰不不便。
 
3.不能通过编号分辨资料的先后顺序
    整表编号重排可以分辨,但你得有这个勇气,否则的话,你就很难通过编号直接判断那些是新资料,那些是旧资料。
 
总结:
    个人认为,断号重续在技术上玩玩可以,特殊需要,做做程序分析可以,实际应用中不要轻易去尝试(如果领导非有这方面的要求例外,可以生成一份断号表,以及断号的原因)
    编号这东西就像抽卫生纸,既然抽出来了,要么就用,要么就扔,如果抽出来不用塞回去或者用完后又重新塞回去,多么不讲卫生呀^_^
    附:获取断号的方法
    先对编号进行排序,用ADO+步长值,逐个读取编号进行大小对比,然后判断哪个地方产生了断号,然后记录下来。
 
断号重续的几个解决方案
方案一:
    建立一个断号表,编号产生时,写入断号表,记录保存时,在断号表中删除之,
删除数据时,将编号写入断号表,下次编码时,先检索断号表中是否存在编号,如存在,则取用编号到单据并在断号表删除之。
方案二:
    删除数据时,不真删,只是做个删除标记,下次编码时,先检索表中是否存删除标记的记录,如存在,则取用之。
    使用以上方案时,无论如何都避免对编号重排,只做填补,重续时都应该提醒数据录入着,这个编号曾经出现过,并检查一下该编号是否有过真实的业务行为,(包括曾经是否记过帐、贴过标,是否被合作伙伴的数据系统记录等等、以免出现数据和现实牛头不对马嘴的事情出现)

(责任编辑:admin)

顶一下
(1)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: