以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助网页数据接收问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149817) |
||||
-- 作者:abc2363360 -- 发布时间:2020/5/13 9:00:00 -- 求助网页数据接收问题 此主题相关图片如下:qq截图20200512180510.jpg ![]() 第一张图 这个方法存在的问题:如果Input数据类型是date的时候,就会把0提交到数据库,令到原本没有数据的变成了1990-01-01 例如 参加党派时间 = \'" & e.PostValues("参加党派时间") Input不选择任何日期的时候,提交后数据库变成了 1990-01-01 第二张图 这个方法存在的问题:如果Input原本就有数据,现在删除,提交,e.PostValues(key)就没有这个字段,所以无法把数据库的内容删除 请问如何解决 多个数据类型是date的Input 在不选择任何日期提交的时候,不更新数据库内容? |
||||
-- 作者:有点蓝 -- 发布时间:2020/5/13 9:16:00 -- 请贴出这个网页的完整代码看看 |
||||
-- 作者:abc2363360 -- 发布时间:2020/5/13 9:18:00 --
|
||||
-- 作者:abc2363360 -- 发布时间:2020/5/13 9:19:00 -- 目前是使用第二个方法 这个方法的问题是:如果Input原本就有数据,现在删除,提交,e.PostValues(key)就没有这个字段,就无法把数据库的内容删除 |
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2020/5/13 9:44:00 -- = null 这个日期字段就不会显示 1990-1-1了吗? |
||||
-- 作者:abc2363360 -- 发布时间:2020/5/13 9:44:00 -- 还是蓝哥NB |
||||
-- 作者:abc2363360 -- 发布时间:2020/5/14 10:24:00 -- 版主好,后端如何检查前端时间填写是否超范围?例如:0001年1月1日,前端可以这样填写,但是后端会报错,提示超范围了。 ![]() ![]() |
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间: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 |