Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共17 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
lin98 发表于: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楼
有点蓝 发表于: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:")
3楼
lin98 发表于:2024/8/7 10:19:00
删除回收编号再利用,如何区别?下面代码执行后,没有区别,不符需求。
Dim dr As DataRow = DataTables("窗口_Table2").AddNew
dr("编号") = e.DataRow("编号")
dr("表名") = "订单"
4楼
有点蓝 发表于:2024/8/7 10:35:00
很简单的道理。一样增加一个前缀列区分不就行了
5楼
lin98 发表于:2024/8/7 11:03:00
Dim dr As DataRow = DataTables("窗口_Table2").AddNew
dr("编号") = e.DataRow("JD-|编号")
dr("表名") = "订单"

没效果,如何改?
6楼
有点蓝 发表于:2024/8/7 11:07:00
增加一个列,看得懂不!
7楼
lin98 发表于:2024/8/7 11:18:00
您 是说回收表增一列“前缀”?比如,表A:表名,前缀,编号?
8楼
有点蓝 发表于:2024/8/7 11:19:00
9楼
lin98 发表于:2024/8/7 14:07:00

图片点击可在新窗口打开查看此主题相关图片如下:多前缀.png
图片点击可在新窗口打开查看
10楼
lin98 发表于:2024/8/7 14:09:00
Dim dr As DataRow = DataTables("窗口_Table2").AddNew
dr("编号") = e.DataRow("编号")
dr("表名") = "订单"
dr("前缀") = e.DataRow("编号")
共17 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.