Foxtable(狐表)用户栏目专家坐堂 → 求助网页数据接收问题


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

主题:求助网页数据接收问题

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
求助网页数据接收问题  发帖心情 Post By:2020/5/13 9:00:00 [只看该作者]

此主题相关图片如下:qq截图20200512180510.jpg
图片点击可在新窗口打开查看

第一张图 这个方法存在的问题:如果Input数据类型是date的时候,就会把0提交到数据库,令到原本没有数据的变成了1990-01-01 
例如    参加党派时间 = '" & e.PostValues("参加党派时间")  Input不选择任何日期的时候,提交后数据库变成了 1990-01-01




图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200512180423.jpg
图片点击可在新窗口打开查看

第二张图 这个方法存在的问题:如果Input原本就有数据,现在删除,提交,e.PostValues(key)就没有这个字段,所以无法把数据库的内容删除



请问如何解决 多个数据类型是date的Input   在不选择任何日期提交的时候,不更新数据库内容?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

请贴出这个网页的完整代码看看

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
  发帖心情 Post By:2020/5/13 9:18:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:完整代码.txt


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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
  发帖心情 Post By:2020/5/13 9:19:00 [只看该作者]

目前是使用第二个方法 这个方法的问题是:如果Input原本就有数据,现在删除,提交,e.PostValues(key)就没有这个字段,就无法把数据库的内容删除

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

    Dim Text As String
    For Each key As String In e.PostValues.Keys
    Text = Text & key & " = '" & e.PostValues(key) & "',"
    Next
    Text = Text.TrimEnd(",")

改为:

Dim str() As String = {"备注","手机号码","性别",......}

Dim Text As String
For Each key As String In str
    If e.PostValues.ContainsKey(key)
        Text = Text & key & " = '" & e.PostValues(key) & "',"
    Else
        Text = Text & key & " = null ,"
    End If
Next
Text = Text.TrimEnd(",")

建议使用参数化用法,数据库效率会高点http://www.foxtable.com/webhelp/topics/3266.htm

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
  发帖心情 Post By:2020/5/13 9:44:00 [只看该作者]

= null 这个日期字段就不会显示 1990-1-1了吗?

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
  发帖心情 Post By:2020/5/13 9:44:00 [只看该作者]

还是蓝哥NB

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
  发帖心情 Post By:2020/5/14 10:24:00 [只看该作者]

版主好,后端如何检查前端时间填写是否超范围?例如:0001年1月1日,前端可以这样填写,但是后端会报错,提示超范围了。
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20200514102040.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

比如

dim d as date = cdate(e.postalues("日期"))
if d < cdate("2019-05-01") then msgbox("不能小于2019-5-1")

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
  发帖心情 Post By:2020/5/14 10:36:00 [只看该作者]

根据老师的提示,我修改好了,现在记录一下。谢谢老师。
    Dim timecheck() As String = {"参加党派时间","进入铁通时间","参加工作时间","驾驶证生效日期","驾驶证失效日期","学习开始时间","学习结束时间","关系人生日","行驶证有效期","安全员证有效期","登高证有效期","电工证有效期"}
    
    For Each check As String In timecheck
        If e.PostValues.ContainsKey(check)
            If CDate(e.PostValues(check)).Year < 1990 Or CDate(e.PostValues(check)).Year > 2050 Then
                With wb.AddMsgPage("","warn2","增加失败",check & "时间错误,请重新填写!")
                    .icon = "Warn" '改变图标
                    .AddButton("btn3","返回").Attribute = ""
                End With
                e.WriteString(wb.Build)
                e.Handled = True '通知系统异步函数执行完毕,可以关闭信道
                Return ""  '必须返回
            End If
        End If
    Next

 回到顶部