Foxtable(狐表)用户栏目专家坐堂 → 如何实现单表多前缀的编号?


  共有1928人关注过本帖树形打印复制链接

主题:如何实现单表多前缀的编号?

帅哥哟,离线,有人找我吗?
lin98
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
如何实现单表多前缀的编号?  发帖心情 Post By:2024/8/6 15:18:00 [只看该作者]

http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=145239,看4楼实例

这个实现,只能一表一个前缀,比如表A,前缀为:DD-
如何实现单表多前缀的编号?比如表A在客户端的窗口1前缀为:DD-,在客户端的窗口2前缀为:JD-,在客户端的窗口3前缀为:BD-,

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110773 积分:563797 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/6 16:02:00 [只看该作者]

1、编号表一个前缀一行

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


2、服务端全局代码里加上前缀做判断
……
    Public Function GetNextCode(s_name As String,Optional s_prefix As String = Nothing) As String
        SyncLock _codelock '使用锁处理并发
            Dim dr As DataRow = _bizcode.Find(CExp("BizName='{0}' and Prefix='{1}'", s_name, s_prefix))
……

3、服务端事件对客户端消息处理
Dim msg As String = e.Message
'这里处理编号生成-------------------------------------------------'
If msg.StartsWith(":f") AndAlso msg.EndsWith("f:") Then
    Dim ss() As String = msg.SubString(2, msg.Length - 4).Split("|")
    e.ReturnValue = _BizCodeBuilder.GetNextCode(ss(0), ss(1)) '将编号返回给客户端
End If

4、客户端发送消息的时候加上前缀
窗口1
Dim rt As String =  QQClient.SendWait(":f" & e.DataTable.Name & "|DD-f:")

窗口2
Dim rt As String =  QQClient.SendWait(":f" & e.DataTable.Name & "|JD-f:")

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/8/7 10:19:00 [只看该作者]

删除回收编号再利用,如何区别?下面代码执行后,没有区别,不符需求。
Dim dr As DataRow = DataTables("窗口_Table2").AddNew
dr("编号") = e.DataRow("编号")
dr("表名") = "订单"

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110773 积分:563797 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/7 10:35:00 [只看该作者]

很简单的道理。一样增加一个前缀列区分不就行了

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/8/7 11:03:00 [只看该作者]

Dim dr As DataRow = DataTables("窗口_Table2").AddNew
dr("编号") = e.DataRow("JD-|编号")
dr("表名") = "订单"

没效果,如何改?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110773 积分:563797 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/7 11:07:00 [只看该作者]

增加一个列,看得懂不!

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/8/7 11:18:00 [只看该作者]

您 是说回收表增一列“前缀”?比如,表A:表名,前缀,编号?

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110773 积分:563797 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/7 11:19:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/8/7 14:07:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:多前缀.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/8/7 14:09:00 [只看该作者]

Dim dr As DataRow = DataTables("窗口_Table2").AddNew
dr("编号") = e.DataRow("编号")
dr("表名") = "订单"
dr("前缀") = e.DataRow("编号")

 回到顶部
总数 17 1 2 下一页