Foxtable(狐表)用户栏目专家坐堂 → [求助]关于通过QQopen实现网络编号的问题


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

主题:[求助]关于通过QQopen实现网络编号的问题

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


加好友 发短信
等级:小狐 帖子:341 积分:3406 威望:0 精华:0 注册:2013/5/17 10:55:00
[求助]关于通过QQopen实现网络编号的问题  发帖心情 Post By:2016/9/21 15:25:00 [只看该作者]

服务器端 receivedmessage 代码如下
Dim msg As String = e.Message
If msg.StartsWith("##") And msg.EndsWith("##") Then  '收到请求档案编号信号
    Dim key As String = msg.Substring(2,msg.length -4)
    msg = "OK##"
    Dim dr As DataRow
    If key Like "######"Then
        dr= DataTables("档案编号统计").find("档案编号 = '" & keys(0) & "'")
        If dr IsNot Nothing Then
            dr("数量") = dr("数量") +1
            For i As Integer=  dr("数量") To 1 Step -1
                If dr("顺序号登记").contains( format(i,"00") & "|" ) = False Then
                    msg = msg & ";" & Format(i,"00")
                    dr("顺序号登记") = dr("顺序号登记") & format(i,"00") & "|"
                    Exit For
                End If
            Next
        Else
            Tables("档案编号统计").addnew
            Tables("档案编号统计").Current("档案编号") = keys(0)
            Tables("档案编号统计").Current("数量") = 1
            Tables("档案编号统计").Current("顺序号登记")  = "01|"
            msg =msg &  ";01"
        End If
    Else
        msg = key & ":不符合要求,无法正常编号!"
        Exit For
    End If
    e.ReturnValue = msg
End If

客户端 beforesavedatarow 代码如下


Dim dr As DataRow = e.DataRow

Dim msg As String = "##" & dr("档案编号") & "##"

msg = QQClient.SendWait(msg,5)

If msg.StartsWith("OK##") Then

    dr("档案编号") = dr("档案编号") & "-" & msg.SubString(4).Trim(";")

Else

    e.Cancel = True

End If


问题:

测试表共2列:姓名、档案编号,共267行数据


当在一个客户端执行datatables("测试").save 时,保存完用时近60秒。相同的测试数据,当两个客户端同时执行datatables(“测试”).save 时,每个客户端保存完用时都在15秒左右。这个时间差是哪产生的?





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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/9/21 16:12:00 [只看该作者]

网络编号,建议增加一行就保存一行,在这个表的DataRowAdded事件编写代码:

 

e.datarow.Save()

 

至于时间差,同等条件下,按道理一个人应该更快,你是反过来,无法理解,也许是间歇性的网速差异造成的吧。


 回到顶部