Rss & SiteMap

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

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

标题:网络环境下的编号的问题

1楼
lin98 发表于:2024/7/25 9:35:00

2、在服务端的AfterOpenProjet事件中编写代码:

Dim dt As DataTable
Dim
 cmd As New SQLCommand
cmd
.ConnectionName = "数据源名称"
cmd
.CommandText = "Selec-t Year(日期) As , Month(日期) As , Max(编号) as 编号 From {订单} Group By Year(日期), Month(日期)"
dt
 = cmd.ExecuteReader
flbhs
.Clear()
For
 Each dr As DataRow In dt.DataRows
    Dim qz As String = dr(
"
") & Format(dr(""),"00"'编号前缀,4位年,2位月
    Dim bh As String = dr(
"
编号")
    Dim id As Integer
    If bh.Length = 10 Then
        bh = bh.SubString(7)
        If Integer.TryParse(bh,id) Then
            flbhs.Add(qz, id)
        End If
    
End If
Next


问题:上面的代码,放服务端的AfterOpenProjet事件中编写代码,有100多张,在这里写,是不是影响服务器,开机速度和性能?

2楼
有点蓝 发表于:2024/7/25 9:42:00
这个是肯定的。考虑换种方式,如:
http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=145239,看4楼实例

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=159386
3楼
lin98 发表于:2024/7/25 10:39:00
If msg.StartsWith(":f") AndAlso msg.EndsWith("f:") Then
    msg = msg.SubString(2, msg.Length - 4)
    e.ReturnValue = _BizCodeBuilder.GetNextCode(msg) '将编号返回给客户端
End I

msg.StartsWith(":f") AndAlso msg.EndsWith("f:") 这句是什么意思?(":f")和With("f:")是专用语,还是自定义变量?
4楼
有点蓝 发表于:2024/7/25 10:39:00
1、没有回收功能。可以看看:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=177677&skin=0

2、我反馈一下
5楼
有点蓝 发表于:2024/7/25 12:02:00
自己定义的一种消息格式,自己知道这种格式的消息是要做什么的就行
6楼
lin98 发表于:2024/7/25 14:34:00

图片点击可在新窗口打开查看此主题相关图片如下:qq66.png
图片点击可在新窗口打开查看
7楼
有点蓝 发表于:2024/7/25 14:46:00
1、maxvalue列记录每个表当前使用的最大编号值;后缀没用到,可以去掉;length是编号序列的长度;mark是日期的格式化字符串;markvalue就是最好一次去编号时按日期格式化的结果
比如当前出库表编号最大值为:CK202407250099。maxvalue就是99;length是【0099】的长度,就是4位;mark就是yyyyMMdd,按年月日生成编号,比如今天格式化后markvalue就是20240725;
2、服务端代码自动处理的
3、表名列不能去除。这个功能是可以针对多个表处理的。没有表名就不知道处理哪个表的编号了
8楼
lin98 发表于:2024/7/25 15:21:00
Dim rt As String = QQClient.SendWait(":f" & e.DataTable.Name & "f:")
e.DataRow("编号") = rt

改为下面代码,失效?
Dim rt As String = QQClient.SendWait(":f" & e.DataTable.Name & "f:")
Select e.DataCol.Name
    Case "日期"
        If e.DataRow.IsNull("日期") Then
            e.DataRow("编号") = Nothing
        Else
            Dim dr As DataRow = DataTables("号表").Find("编号 is not null and 表名='订单'", "编号")
            If dr IsNot Nothing Then
                e.DataRow("编号") = dr("编号")
                
                dr.Delete
            Else
                e.DataRow("编号") = rt
             End If
        End If

[此贴子已经被作者于2024/7/25 17:05:33编辑过]
9楼
有点蓝 发表于:2024/7/25 15:38:00
什么东西失效?

Select e.DataCol.Name
    Case "日期"
        If e.DataRow.IsNull("日期") Then
            e.DataRow("编号") = Nothing
        Else
            Dim dr As DataRow = DataTables("号表").Find("编号 is not null and 表名='订单'", "编号")
            If dr IsNot Nothing Then
                e.DataRow("编号") = dr("编号")
                dr.Delete
DataTables("号表").save
            Else
Dim rt As String = QQClient.SendWait(":f" & e.DataTable.Name & "f:")
                e.DataRow("编号") = rt
             End If
        End If
10楼
lin98 发表于:2024/7/25 15:50:00
代码放在DataColChanged
编号没有生成?
[此贴子已经被作者于2024/7/25 15:51:16编辑过]
共16 条记录, 每页显示 10 条, 页签: [1] [2]

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

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