Foxtable(狐表)用户栏目专家坐堂 → 怎么解决呢?传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 19 (""): 提供的值不是数据类型 float 的有效实例。请检查源数据中的无效值。例如,小数位数大于精度的数值类型的数据即为无效值


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

主题:怎么解决呢?传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 19 (""): 提供的值不是数据类型 float 的有效实例。请检查源数据中的无效值。例如,小数位数大于精度的数值类型的数据即为无效值

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
怎么解决呢?传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 19 (""): 提供的值不是数据类型 float 的有效实例。请检查源数据中的无效值。例如,小数位数大于精度的数值类型的数据即为无效值  发帖心情 Post By:2024/1/16 23:38:00 [只看该作者]


当前代码运行提示:
错误的事件名称
System.Data.OleDb.OleDbException (0x80040E14): 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 19 (""): 提供的值不是数据类型 float 的有效实例。请检查源数据中的无效值。例如,小数位数大于精度的数值类型的数据即为无效值。
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   在 System.Data.Common.DbDataAdapter.UpdateRowExecute(RowUpdatedEventArgs rowUpdatedEvent, IDbCommand dataCommand, StatementType cmdIndex)
   在 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)


综合得分  字段列属性float
当前代码如下:【红色部分代码怎么修正呢?要保持两位小数】
……
    
    cnt = dt.Compute("Count([政治思想满分15分])", "年度='" & e.Values("年度") & "'  and 季度='" & e.Values("季度") & "'and 测评对象 = '" & Product & "' ") '如果操作人员属于委领导,则将对应的好等次的数据 计算为A好里面的
    If cnt > 0 Then
        dr("政治思想") = cnt / e1
    Else
        dr("政治思想") = Nothing
    End If
    cnt1 = dt.Compute("Count([担当精神满分15分])", "年度='" & e.Values("年度") & "'  and 季度='" & e.Values("季度") & "'and 测评对象 = '" & Product & "' ")
    If cnt1 > 0 Then
        dr("担当精神") = cnt1 / e1
    Else
        dr("担当精神") = Nothing
    End If
    cnt2 = dt.Compute("Count([能力水平满分10分])", "年度='" & e.Values("年度") & "'  and 季度='" & e.Values("季度") & "'and 测评对象 = '" & Product & "' ")
    If cnt2 > 0 Then
        dr("能力水平") = cnt2 / e1
    Else
        dr("能力水平") = Nothing
    End If
    cnt3 = dt.Compute("Count([工作实绩满分60分])", "年度='" & e.Values("年度") & "'  and 季度='" & e.Values("季度") & "'and 测评对象 = '" & Product & "' ")
    If cnt3 > 0 Then
        dr("工作实绩") = cnt3 / e1
    Else
        dr("工作实绩") = Nothing
    End If
    dr("综合得分") = Format((dr("政治思想") + dr("担当精神") + dr("能力水平") + dr("工作实绩")) / e1, "00.00")
    dr.save
[此贴子已经被作者于2024/1/16 23:43:29编辑过]

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


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

e1是什么值?
msgbox(e1)

dr("综合得分") = round((dr("政治思想") + dr("担当精神") + dr("能力水平") + dr("工作实绩")) / e1, 2)

 回到顶部