Foxtable(狐表)用户栏目专家坐堂 → 怎么避免重复保存


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

主题:怎么避免重复保存

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


加好友 发短信
等级:一尾狐 帖子:461 积分:4301 威望:0 精华:0 注册:2019/8/5 17:49:00
怎么避免重复保存  发帖心情 Post By:2021/4/8 23:06:00 [只看该作者]

Dim wb As New weui
Select Case e.Path
    Case "gh.htm"
        If e.PostValues.Count = 0 Then
            wb.AddForm("","线上报装","gh.htm")
            With wb.AddInputGroup("线上报装","ipg1","线上报装")
                .AddInput("申报人手机号","申报人手机号","text")
                .AddInput("申报人姓名","申报人姓名","text")
                .AddSelect("接入方式","接入方式","地上|地下|[]")
                .AddSelect("客户类型","客户类型","|商业客户|工业客户|学校客户|相关政府单位|其他")
                .AddSelect("建设方式","建设方式","|代建|自建")
                .AddSelect("项目类型","项目类型","|老城区改造项目|新建项目|其他")
                .AddInput("填报时间","填报时间","datetime-local").Value=Format(Date.now,"yyyy-MM-ddTHH:mm")
            End With
            With wb.AddInputGroup("线上报装","ipg2","工程基本资料")
                .AddInput("工程名称","工程名称","text")
                .AddTextArea("工程地址",2).Placeholder = "请输入详细地址(楼号\单元\门牌号)"
                .AddInput("建设单位","建设单位","text")
                .AddInput("联系人","联系人","text")
                .AddInput("联系电话","联系电话","text")
                .AddInput("计划用气时间","计划用气时间","datetime-local")
                .AddInput("装表容量","装表容量","text").Placeholder = "m3/h"
                .AddUploader("相关材料附件","相关材料附件",True) 'True表示允许上传多个文件
            End With
            With wb.AddInputGroup("线上报装","ipg3","申请单位意见")
                .AddTextArea("申请单位意见",3).Placeholder = "请将控制在输入200字以内"
                .AddUploader("其他附件","其他附件",True) 'True表示允许上传多个文件
            End With
            With wb.AddButtonGroup("线上报装","btg1",True)
                .Add("btn1", "确定", "submit")
            End With
            e.WriteString(wb.Build) '生成网页
        Else
            Dim nms() As String = {"申报人手机号","申报人姓名","接入方式","客户类型","建设方式","项目类型","填报时间","工程名称","计划用气时间"} '不能为空的列名数组
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) = False Then '生成错误提示页
                    With wb.AddMsgPage("","msgpage","增加失败", nm & "列不能为空!")
                        .icon = "Warn" '改变图标
                        .AddButton("btn1","返回").Attribute = ""
                    End With
                    e.WriteString(wb.Build)
                    Return '必须返回
                End If
            Next
            nms = New String() {"申报人手机号","申报人姓名","接入方式","客户类型","建设方式","项目类型","填报时间","工程名称","工程地址","建设单位","联系人","联系电话","计划用气时间","装表容量","相关材料附件","申请单位意见","其他附件"}  '重新定义了nms数组,增加了两列.
            Dim dr As DataRow = DataTables("线上报装").AddNew()
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) Then
                    dr(nm) = e.PostValues(nm)
                End If
            Next
            For Each key As String In e.Files.Keys
                If key = "相关材料附件" Then
                    For Each fln As String In e.Files(key)
                        e.SaveFile(key, fln, ProjectPath & "Attachments\" & fln)
                    Next
                    dr.Lines("相关材料附件") = e.Files(key)
                    
                ElseIf key = "其他附件" Then
                    For Each f2n As String In e.Files(key)
                        e.SaveFile(key, f2n, ProjectPath & "Attachments\" & f2n)
                    Next
                    dr.Lines("其他附件") = e.Files(key)
                End If
            Next
            '保存并生成增加成功提示页面
            dr.save()
            With wb.AddMsgPage("","msgpage","操作完成",  "查询编号为:" & dr("编号") & ",请截图留存,以便查询项目进度") '生成成功提示页
                .AddButton("btn1","退出","gh.htm")
            End With
            e.WriteString(wb.Build)
        End If
End Select


蓝总:多点了几次,就重复保存了,怎么避免?


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


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

方法1、保存前判断一个是否已经有同样的数据,比如相同的手机号、姓名等
2、参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=139284&skin=0

 回到顶部