Foxtable(狐表)用户栏目专家坐堂 → [求助]HttpUpdate错误)标准表达式中数据类型不匹配。)


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

主题:[求助]HttpUpdate错误)标准表达式中数据类型不匹配。)

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


加好友 发短信
等级:童狐 帖子:206 积分:2174 威望:0 精华:0 注册:2016/1/2 22:20:00
[求助]HttpUpdate错误)标准表达式中数据类型不匹配。)  发帖心情 Post By:2020/5/26 19:06:00 [只看该作者]

请教,这个是什么问题?

Access数据库,本地的时候没有问题,用WEB数据源后出现以下提示,检查代码并无异常。错误出现再DataTable load 刷新的时候,数据量不多才几百条

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


.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.25.8
错误所在事件:
详细错误信息:
HttpUpdate错误)标准表达式中数据类型不匹配。)

[此贴子已经被作者于2020/5/26 19:08:15编辑过]

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


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

事件完整代码发上来看看

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


加好友 发短信
等级:童狐 帖子:206 积分:2174 威望:0 精华:0 注册:2016/1/2 22:20:00
  发帖心情 Post By: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

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


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

[closed]是逻辑列?确定连接的是access数据库,不是SqlServer?

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


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

这样测试有没有问题?
DataTables("Shippingforecast").LoadFilter = ""
DataTables("Shippingforecast").Load()

这样呢?
DataTables("Shippingforecast").LoadFilter = "[closed] = 0"
DataTables("Shippingforecast").Load()

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


加好友 发短信
等级:童狐 帖子:206 积分:2174 威望:0 精华:0 注册:2016/1/2 22:20:00
  发帖心情 Post By:2020/5/26 23:16:00 [只看该作者]

谢谢,和这个没有关系,以上测试均不行。

怀疑Foxtable对列名是否有不能用的字词?其他数据格式影响(如日期格式,Access数据WEB源情况下,服务器日期格式和本机不一致会有影响吗?)

目前还未测试出来,如有其他建议,非常感谢

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


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

我测试了一下web数据源,没有问题。

在服务端调用下面代码是否正常?
DataTables("Shippingforecast").LoadFilter = ""
DataTables("Shippingforecast").Load()

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


加好友 发短信
等级:童狐 帖子:206 积分:2174 威望:0 精华:0 注册:2016/1/2 22:20:00
  发帖心情 Post By:2020/5/27 13:51:00 [只看该作者]

服务端直接调用没问题,重点还在在于数据类型不匹配的提示,和数据类型有关,可能和日期类型有关,不知道怎么解决

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


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

把项目和数据库发给客服测试看看

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


加好友 发短信
等级:童狐 帖子:206 积分:2174 威望:0 精华:0 注册:2016/1/2 22:20:00
  发帖心情 Post By:2020/5/27 22:18:00 [只看该作者]

问题找到,是日期列 长日期模式的问题,设置成字符格式就行了

 回到顶部
总数 15 1 2 下一页