在我班上:
Namespace Chauffeurs
Public Class Algemeen
Property FirmaId As Integer?
Property Firma As String
Public Sub New()
End Sub
Public Sub New(ByVal firmaId As Integer?, Optional ByVal id As Integer = 0)
'I don't even reach this point.
Me.FirmaId = firmaId
End Sub
End Class
Public Class Yard
Inherits Chauffeurs.Algemeen
Public Sub New()
End Sub
Public Sub New(ByVal drv As DataRowView)
MyBase.New(drv(2), drv(1), drv(3), drv(4), drv(0)) '<--- error occurs here
End Sub
以我的形式: huidigeChauffeur = new allePersonen.Chauffeurs.Yard(drv)
我100%肯定在drv(4)中有一个DBNull。但是我仍然得到错误“指定演员表无效”,即使我使用可空的
额外: 如果我输入Cint(drv4)Ik得到错误“从类型转换”DBNull“到类型'整数'无效。 这不是Nullable应该抓住的吗?!
答案 0 :(得分:0)
如果某些内容可能为null或无效,则测试值;
If NOT IsDbNull(drv(2)) AndAlso drv(2) = AnyValue Then
'Do success
ELSE
'Failure
End If
答案 1 :(得分:0)
有些人几乎回答了这个问题,但是他/她删除了答案。
如下: drv.Row.Field(Of System.Nullable(Of Integer))(4).GetValueOrDefault