Foxtable(狐表)用户栏目专家坐堂 → 无法在 System.Decimal 和 System.String 上执行“=”操作。


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

主题:无法在 System.Decimal 和 System.String 上执行“=”操作。

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


加好友 发短信
等级:幼狐 帖子:113 积分:1344 威望:0 精华:0 注册:2014/11/12 16:55:00
无法在 System.Decimal 和 System.String 上执行“=”操作。  发帖心情 Post By:2017/5/5 15:38:00 [只看该作者]

哪位老师帮忙看下,原来可以用,升级到开发版2017-4-22后报错了,该怎么改?谢谢
错误提示:无法在 System.Decimal 和 System.String 上执行“=”操作。
本代码如下:
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮

    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("入账表").StopRedraw()
    Dim nms() As String ={"序号","日期","保险人","险种","使用性质","保单号","投保人","被保险人","保费","业务员","业务员卡号","引荐人","起保时间","备注"}

     For n As Integer = 1 To Sheet.Rows.Count -1 
       Dim bdh As String = sheet(n,5).Text '保单号
       Dim bf As String = sheet(n,8).Text '保费

    If DataTables("入账表").Find("保单号 = '" & bdh & "' and 保费 = '" & bf & "'") Is Nothing Then '如果不存在重复的记录;

          Dim r As Row = Tables("入账表").AddNew()
             For m As Integer = 0 To nms.Length - 1
                              If DataTables("入账表").DataCols(nms(m)).IsNumeric Then
                              r(nms(m)) = Val(Sheet(n,m).Value)
                              Else
                                    If Tables("入账表").cols(nms(m)).IsDate Then
                                        Dim d As Date
                                             If Date.TryParse(Sheet(n,m).Value,d) Then
                                                 r(nms(m)) = d
                                             End If
                                    Else
                                        r(nms(m)) = Sheet(n,m).Value
                                    End If
                              End If

      Next


    End If
Next
End If
[此贴子已经被作者于2017/5/5 15:38:28编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/5 15:42:00 [只看该作者]

你这两个列,都是数值列?那就改成

 

Dim bdh As String = val(sheet(n,5).Text) '保单号

Dim bf As String = val(sheet(n,8).Text) '保费

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


加好友 发短信
等级:幼狐 帖子:113 积分:1344 威望:0 精华:0 注册:2014/11/12 16:55:00
  发帖心情 Post By:2017/5/5 15:44:00 [只看该作者]

谢谢,我试试

 回到顶部