以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:报从字符串到double转换错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110628)

--  作者:bahamute
--  发布时间:2017/12/6 16:03:00
--  请教:报从字符串到double转换错误
从excel表导入数据,生成system.data.datatable 代码中为dt,以下代码用于对dt数据行验证,但一直报 从字符串“”到类型“Double”的转换无效

"工号","姓名","单位","年月"均为字符串列,其它列均为double列,是否代码有问题?请指教。

For Each r As System.Data.DataRow In dt.Rows
        For Each c1 As System.Data.DataColumn In dt.Columns
            Select Case c1.ColumnName
                Case "工号","姓名","单位","年月"
                    If r(c1.ColumnName)="" Then
                        MessageBox.Show("数据格式错误/不得为空,请检查! " & vbcrlf & "错误行: " & r("姓名") & "   错误列: " & c1.ColumnName)
                        Return
                    End If
                Case Else
                    Dim d As Double
                    If Double.TryParse(r(c1.ColumnName),d)=False Then
                        MessageBox.Show("数据格式错误,请检查 " & vbcrlf & "错误行: " & r("姓名") & "   错误列: " & c1.ColumnName)
                        Return
                    End If
            End Select
        Next
 Next


--  作者:有点甜
--  发布时间:2017/12/6 16:27:00
--  

If r(c1.ColumnName)="" Then

 

改成

 

If r(c1.ColumnName)=nothing Then


--  作者:bahamute
--  发布时间:2017/12/6 16:35:00
--  
解决,非常感谢。