Foxtable(狐表)用户栏目专家坐堂 → 使用web数据源,日期时间型字段录入时会出现异常(疑似bug)


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

主题:使用web数据源,日期时间型字段录入时会出现异常(疑似bug)

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


加好友 发短信
等级:幼狐 帖子:169 积分:1036 威望:0 精华:0 注册:2016/1/12 20:03:00
使用web数据源,日期时间型字段录入时会出现异常(疑似bug)  发帖心情 Post By:2022/2/6 23:54:00 [只看该作者]

问题描述:使用web数据源时,表中有“日期时间”型字段,且将该字段设置成“DateTime”和“DateLongTime”,数据新增、保存或删除等任何操作会出现以下错误提示
  
运行错误:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.1.30.2
错误所在事件:
详细错误信息:
HttpInsert错误(标准表达式中数据类型不匹配。)


备注:1、直连数据库正常,没有以上错误提示;2、采用web数据源,将该“日期时间”型字段设置成“Date”、“Time”、“LongTime”类型,所有操作正常,没出现以上错误提示。
[此贴子已经被作者于2022/2/6 23:59:24编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2022/2/7 0:22:00 [只看该作者]

我搞过Web数据源,没出现过您说的问题,把HttpInsert相关的代码发上来!

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


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

保存的代码发上来。如果是使用access数据库,给日期赋值的时候要格式化一下,去掉毫秒

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


加好友 发短信
等级:幼狐 帖子:169 积分:1036 威望:0 精华:0 注册:2016/1/12 20:03:00
  发帖心情 Post By:2022/2/7 15:22:00 [只看该作者]

以下是引用有点蓝在2022/2/7 8:46:00的发言:
保存的代码发上来。如果是使用access数据库,给日期赋值的时候要格式化一下,去掉毫秒

1、使用的access;
2、web服务端HttpRequest代码

Select Case e.Path
    Case "DataServer.htm"
        e.AsDataServer("data")
End Select

3、客户端
DataRowAdding代码
e.DataRow("字符") = "字符哦"
e.DataRow("日期时间") = Date.Now()  ‘采用web数据源时,这里字段只要为“DateTime”、“DateLongTime”,新增保存都会出错,而“Date”、“Time”、“LongTime”就无问题。
e.DataRow("逻辑") = True
e.DataRow("整数") = 100
e.DataRow("短整数") = 10
e.DataRow("微整数") = 1
e.DataRow("双精度小数") = 100.01
e.DataRow("单精度小数") = 100.1
e.DataRow("高精度小数") = 100.001
e.DataRow("备注") = "备注哦"

DataRowAdded代码(这里加个保存行命令,效果更明显,保存时系统发现“类型不匹配”就出现提示错误)
e.DataRow.Save()

备注:以上客户端代码不变,改成直连access数据库,一切正常。


[此贴子已经被作者于2022/2/7 15:31:15编辑过]

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/7 15:32:00 [只看该作者]

e.DataRow("日期时间") = format(Date.Now() ,"yyyy-MM-dd HH:mm:ss")

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


加好友 发短信
等级:幼狐 帖子:169 积分:1036 威望:0 精华:0 注册:2016/1/12 20:03:00
  发帖心情 Post By:2022/2/7 15:41:00 [只看该作者]

以下是引用有点蓝在2022/2/7 15:32:00的发言:
e.DataRow("日期时间") = format(Date.Now() ,"yyyy-MM-dd HH:mm:ss")

收到,多谢,没意识到这个细节,现在正常了。

 回到顶部