以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]HttpUpdate错误)标准表达式中数据类型不匹配。) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150311) |
-- 作者:binyum -- 发布时间:2020/5/26 19:06:00 -- [求助]HttpUpdate错误)标准表达式中数据类型不匹配。) 请教,这个是什么问题? Access数据库,本地的时候没有问题,用WEB数据源后出现以下提示,检查代码并无异常。错误出现再DataTable load 刷新的时候,数据量不多才几百条 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.25.8 错误所在事件: 详细错误信息: HttpUpdate错误)标准表达式中数据类型不匹配。) [此贴子已经被作者于2020/5/26 19:08:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/5/26 20:22:00 -- 事件完整代码发上来看看 |
-- 作者:binyum -- 发布时间:2020/5/26 22:33:00 -- 刷新代码如下,第二句出错,应该和后面的代码没关系。Load出错后,保存也会出错,同样的错误提示。打开软件第一次刷新时是没有错误提示的,第二次就会出错 DataTables("Shippingforecast").LoadFilter = "[closed] = False " DataTables("Shippingforecast").Load() Dim a As Date = Date.today.AddMonths(-1) Dim b As Date = DataTables("Shippingforecast").Compute("Max(DeliveryDate)","Closed = False") Dim c As Date = a If DataTables("Shippingforecast").DataCols.Contains("往期_后期") = False Then DataTables("Shippingforecast").DataCols.Add("往期_后期", Gettype(Double)) End If a = a.Year & "-" & a.Month & "-01" Dim Coldd As String = "|往期_后期|60" Do Dim nm As String =a.Year & "年_" & a.Month & "月" If DataTables("Shippingforecast").DataCols.Contains(nm) = False Then DataTables("Shippingforecast").DataCols.Add(nm, Gettype(Double)) End If Coldd = Coldd &"|"& nm &"|60" a = a.AddMonths(1) If a > b Then Exit Do End If Loop Tables("Shippingforecast").Sort = "DeliveryDate ASC" For Each v As Row In Tables("Shippingforecast") Dim r As DataRow = DataTables("Shippingforecast").Find("_identify = " & v("_identify")) For Each dc As DataCol In DataTables("Shippingforecast").DataCols If dc.Name.Contains("_") Then r(dc.Name) = Nothing End If Next Dim qj As String = v("期间") Dim qj1 As String =Left(qj,5) & "_" & qj.Replace(Left(qj,5) ,"") Dim qj2 As String If Tables(e.form.name & "_Table1").Cols.Contains(qj1) = True Then r(qj1) = v("Amount") qj2 = qj1 Else r("往期_后期") = v("Amount") qj2 = "往期_后期" End If Dim alrs As List(Of DataRow) = DataTables("Shippingal").Select("OrderNo = \'"& v("OrderNo") &"\'") For Each alr As DataRow In alrs Dim aqj As String =alr("期间") If aqj.Length > 6 Then Dim aqj1 As String =Left(aqj,5) & "_" & aqj.Replace(Left(aqj,5) ,"") If Tables(e.form.name & "_Table1").Cols.Contains(aqj1) = True Then r(aqj1) = alr("金额") r(qj2) = r(qj2) - alr("金额") Else r(qj2) = r(qj2) - alr("金额") r("往期_后期") = r("往期_后期") + alr("金额") End If End If Next Next c = c.Year & "-" & c.Month & "-01" Do Dim nm As String =c.Year & "年_" & c.Month & "月" Tables(e.form.name & "_Table1").Cols(nm).GrandTotal = True c = c.AddMonths(1) If c > b Then Exit Do End If Loop Tables(e.form.name & "_Table1").Cols("Amount").GrandTotal = True Tables(e.form.name & "_Table1").Cols("QTY").GrandTotal = True Tables(e.form.name & "_Table1").Cols("待出库").GrandTotal = True Tables(e.form.name & "_Table1").Cols("往期_后期").GrandTotal = True Tables(e.form.name & "_Table1").GrandTotal = True Tables(e.form.name & "_Table1").Cols.Frozen = 8 Tables(e.Form.name & "_Table1").SetColVisibleWidth("OrderNo|112|ProductLine|49|OrderDate|73|DeliveryDate|70|QTY|44|Amount|75|Important|40|Status|122|Remark|215|NewDeliveryDate|76|StatusDate|85|R|31|期间|79|待出库|47" & Coldd & "|Customer|189|OrderRemark|228") \'Tables(e.form.name & "_Table1").AutoSizeCols
|
-- 作者:有点蓝 -- 发布时间:2020/5/26 22:35:00 -- [closed]是逻辑列?确定连接的是access数据库,不是SqlServer? |
-- 作者:有点蓝 -- 发布时间:2020/5/26 22:46:00 -- 这样测试有没有问题? DataTables("Shippingforecast").LoadFilter = "" DataTables("Shippingforecast").Load() 这样呢? DataTables("Shippingforecast").LoadFilter = "[closed] = 0" DataTables("Shippingforecast").Load() |
-- 作者:binyum -- 发布时间:2020/5/26 23:16:00 -- 谢谢,和这个没有关系,以上测试均不行。 怀疑Foxtable对列名是否有不能用的字词?其他数据格式影响(如日期格式,Access数据WEB源情况下,服务器日期格式和本机不一致会有影响吗?) 目前还未测试出来,如有其他建议,非常感谢
|
-- 作者:有点蓝 -- 发布时间:2020/5/27 8:38:00 -- 我测试了一下web数据源,没有问题。 在服务端调用下面代码是否正常? DataTables("Shippingforecast").LoadFilter = "" DataTables("Shippingforecast").Load() |
-- 作者:binyum -- 发布时间:2020/5/27 13:51:00 -- 服务端直接调用没问题,重点还在在于数据类型不匹配的提示,和数据类型有关,可能和日期类型有关,不知道怎么解决 |
-- 作者:有点蓝 -- 发布时间:2020/5/27 13:55:00 -- 把项目和数据库发给客服测试看看 |
-- 作者:binyum -- 发布时间:2020/5/27 22:18:00 -- 问题找到,是日期列 长日期模式的问题,设置成字符格式就行了 |