Вот мой кодLinq сильно набраны DataTable и Null вопрос на сегодняшний день колонке
Dim dr2 As PBRuleData.PBRuleRow
Dim query As IEnumerable(Of PBRuleData.PBRuleRow) = From s In Me.PBRule.PBRule.AsEnumerable() _
Where s.PBRuleId = .PBRuleId And s.StartDate <= .PBDate _
And (s.IsFinishDateNull Or (s.FinishDate > .PBDate)) Select s
If query.Count > 0 Then
dr2 = query.ElementAt(0)
If Not (dr2.IsHoursNull) Then
If dr2.IsBilling Then
dblHoursBILL += CType(dr2.Hours, Double)
Else
dblHoursPAY += CType(dr2.Hours, Double)
End If
End If
End If
Даже если я поставил условие s.IsFinishDateNull, чтобы избежать исключения нулевого, но его до сих пор вызывает исключение The value for column 'FinishDate' in table 'PBRule' is DBNull.
этот запрос LINQ является чередуйтесь с этим datatable запросом, который отлично работает.
Dim dr As DataRow()
Dim sQuery As String
sQuery = "PBRuleId={0} AND StartDate<=#{1:MM/dd/yy}# AND (FinishDate>=#{1:MM/dd/yy}# OR FinishDate IS NULL)"
dr = Me.PBRule.PBRule.Select(String.Format(sQuery, .PBRuleId, .PBDate))
If dr.Length > 0 Then
If Not (dr(0).Item("Hours") Is DBNull.Value) Then
If dr(0).Item("IsBilling").ToString().ToLower = "true" Then
dblHoursBILL += CType(dr(0).Item("Hours").ToString(), Double)
Else
dblHoursPAY += CType(dr(0).Item("Hours").ToString(), Double)
End If
End If
End If
Может кто-нибудь помочь
Спасибо, что сработали. может также помочь мне преобразовать этот sql в linq select * из tblPBRule, где PBRuleId = 364 и StartDate <= '20140902', а finaldate - null и PBCodeid в (выберите PBCodeid из tblpbrule, где PBHourstypeid IN (3,4,5,6)) или я задаю еще один вопрос, поэтому – 3355307
Добро пожаловать. Если вы боретесь с предложением 'IN', см. [Linq-версия SQL-запроса« IN »] (http://stackoverflow.com/questions/896123/linq-version-of-sql-in-statement/896156#896156) , Или лучше создать новый вопрос. – Ripple