以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [原创]自动生成流水号  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=38177)

--  作者:qwbd520
--  发布时间:2013/7/22 7:43:00
--  [原创]自动生成流水号
   最近做的软件中经常要用到流水号,老是反复写重复代码 所以狠下心把它封装成了内部函数提供给大家参考

本来早就写好了,可是为了通用性测试了好久,再加上本人眼神不咋好,代码编辑器的字忒小了看得很是费劲图片点击可在新窗口打开查看


测试了外部数据源的Access 2000, SqlServer 2000/2005,内部数据表暂未测试(猜测跟Access差不多),大家可自行改造下,里面有示例代码··




以下内容只有回复后才可以浏览



[此贴子已经被作者于2013-7-22 7:45:22编辑过]

--  作者:lsy
--  发布时间:2013/7/22 7:48:00
--  
新人新气象,顶顶更茁壮。
--  作者:qwbd520
--  发布时间:2013/7/22 7:52:00
--  
图片点击可在新窗口打开查看这回复也太水了············
--  作者:lsy
--  发布时间:2013/7/22 7:59:00
--  

数据库很少是单机操作,基本上都离不开网络。

网络环境下的自动编号,有以下这么一段,缺了这一段,可能出现重复编号。

Do
    Key
= cmd1.ExecuteScalar()
\'从后台获得顺序
   
cmd2.commandText = "Update [] Set [顺序] = " & (Key + 1) & " Where [顺序] = " & Key & " And [前缀] = \'" & pf & "\' And 表名 = \'" & nm & "\'"
    If
cmd2.ExecuteNonQuery() > 0 Then \'更新顺序
        Exit Do
\'更新成功则退出循环
    End If
Loop


--  作者:410109296
--  发布时间:2013/7/22 8:14:00
--  

呵呵 赞一个

 


--  作者:qwbd520
--  发布时间:2013/7/22 8:22:00
--  
呵呵····的确并发量大的时候会出现,以前是用事务的方式处理的,现在用foxtable不知道咋搞··图片点击可在新窗口打开查看,Update时候也是锁表这个好!你的实现方式是建立另外个表来保存流水号吗?
--  作者:rjh4078
--  发布时间:2013/7/22 8:24:00
--  
悄悄的顶起
--  作者:qwbd520
--  发布时间:2013/7/22 8:26:00
--  
能否帮忙改造下内部函数···············谢谢!!
--  作者:lsy
--  发布时间:2013/7/22 8:30:00
--  

自动编号,种类繁多,仅举几例:

1、大流水号,最常用,一直往后编。

2、年流水号,每年从头开始,有的每年自动更换一个字母前缀。

3、月流水号,每月从头开始。

4、日流水号,每日从头开始。

5、单据流水号,每张单据中的几条记录,按顺序编号。

6、单据号,一张单据可能有不同数量的记录,但一张单据就一个号。

有的有前缀,有的没有前缀,有的前缀固定,有的前缀自动变更。

 


--  作者:hrc11
--  发布时间:2013/7/22 8:57:00
--