Foxtable(狐表)用户栏目专家坐堂 → [求助]请问用这种情况会出现保存不上吗?


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

主题:[求助]请问用这种情况会出现保存不上吗?

帅哥哟,离线,有人找我吗?
智友软件工作室
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
[求助]请问用这种情况会出现保存不上吗?  发帖心情 Post By:2020/3/13 15:31:00 [只看该作者]

 作为服务端使用的:
       Dim gd As DataRow = DataTables("维修工单").SQLFind("工单编号 = '" & gdbh & "'")
        '开始写入数据
        gd("处理状态") = "等待确认"
        Dim d As Date = Date.Now()
        gd("操作日志") = name & "于" & CStr(d.Month) & "/" & CStr(d.Day) & " " & CStr(d.Hour) & ":" & CStr(d.Minute) & ":申请验收(完)" & vbcrlf & gd("操作日志")
        gd.Save()

一直是没有问题,今天突然用户反馈有操作后不执行保存的情况,我测试后也确实存在,但是没有任何报错,我关闭服务器客户端,在打开后就又好了

请问这是什么情况呢?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/13 15:44:00 [只看该作者]

这个保存肯定没有问题,但是注意,不能保存第二次,比如下面第二次赋值和保存是没有用的

       Dim gd As DataRow = DataTables("维修工单").SQLFind("工单编号 = '" & gdbh & "'")
        '开始写入数据
        gd("处理状态") = "等待确认"
        Dim d As Date = Date.Now()
        gd("操作日志") = name & "于" & CStr(d.Month) & "/" & CStr(d.Day) & " " & CStr(d.Hour) & ":" & CStr(d.Minute) & ":申请验收(完)" & vbcrlf & gd("操作日志")
        gd.Save()
        gd("某列") = "某值"
gd.Save()

另外可以使用日志跟踪一下服务端的错误

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2020/3/13 16:02:00 [只看该作者]

是啊,我看了日志是没有任何错误的,而且一直是运行没有问题,就是今天发现的,一共两处都是类似上述的保存方式,两处都是异常(不保存),其他的API接口也都是运行正常,我重启软件之后,保存还是正常的。

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


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

是不是没有查询到数据,比如这个工单编号还没有保存,SQLFind查询没有结果

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2020/3/13 23:09:00 [只看该作者]

我有发现类似的保存不上的情况:也是类似的

        'e.WriteString(e.PlainText)
        'Return Nothing
        Dim jopost As JObject = JObject.Parse(e.PlainText)
        Dim gdbh As String = jopost("gdbh")
        Dim gcsunionid As String = jopost("gcsunionid")
        Dim yonghuunionid As String = jopost("unionid")
        Dim yonghuopenid As String = jopost("openid")
        Dim jo As New JObject
        '工程师判断
        Dim yg As DataRow = DataTables("员工资料").SQLFind("员工类型 = '工程师' and uni")
        If yg IsNot Nothing Then
            If yg("移动办公") <> "允许登录" Then
                jo = New JObject
                jo("no") = New JObject
                jo("no")("title") = "工程师已被禁止使用移动端"
                e.WriteString(CompressJson(jo))
                Return Nothing
            End If
        Else
            jo = New JObject
            jo("no") = New JObject
            jo("no")("title") = "工程师已被禁用"
            e.WriteString(CompressJson(jo))
            Return Nothing
        End If
        '工单判断
        Dim name As String = yg("员工姓名")
        Dim gd As DataRow = DataTables("维修工单").SQLFind("工单编号 = '" & gdbh & "'")
        If gd IsNot Nothing Then
            If gd("处理状态") <> "正在处理" Then
                '处理状态错误
                jo = New JObject
                jo("no") = New JObject
                jo("no")("title") = "处理状态不是正在处理"
                e.WriteString(CompressJson(jo))
                Return Nothing
            End If
            If gd("工程师") <> name Then
                '工程师不对
                jo = New JObject
                jo("no") = New JObject
                jo("no")("title") = "此单不属于这个工程师"
                e.WriteString(CompressJson(jo))
                Return Nothing
            End If
            'If gd("unionid") <> "" Then
            '    '已绑定
            '    jo = New JObject
            '    jo("no") = New JObject
            '    jo("no")("title") = "此单已绑定过了"
            '    e.WriteString(CompressJson(jo))
            '    Return Nothing
            'End If
        Else
            '单号不存在
            jo = New JObject
            jo("no") = New JObject
            jo("no")("title") = "工单编号不存在"
            e.WriteString(CompressJson(jo))
            Return Nothing
        End If
        '绑定
        gd("unionid") = yonghuunionid
        gd("xcx_openid") = yonghuopenid
        gd.Save()
        '返回成功
        jo("no") = New JObject '这个要加上返回一个空值便于后面判断
        jo("no") = "" '这个空千万不能省略
        
        jo("yes") = New JObject
        e.WriteString(CompressJson(jo))

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/14 8:46:00 [只看该作者]

这种这么多逻辑判断,随便一个不符合条件return了,就不会保存了。

 回到顶部