Vb.net 无法根据字段值从数据表中获取不同的记录
使用VB.NET,我试图基于几个字段删除重复的datatable记录。我使用distinct,似乎只能检索新数据表中的字段。这里有一个例子Vb.net 无法根据字段值从数据表中获取不同的记录,vb.net,datatable,vb.net-2010,Vb.net,Datatable,Vb.net 2010,使用VB.NET,我试图基于几个字段删除重复的datatable记录。我使用distinct,似乎只能检索新数据表中的字段。这里有一个例子 Public Shared Function GetDistinctRecords(dt As DataTable, Columns As String()) As DataTable Dim dtUniqRecords As New DataTable() dtUniqRecords = dt.DefaultView.ToTable(Tru
Public Shared Function GetDistinctRecords(dt As DataTable, Columns As String()) As DataTable
Dim dtUniqRecords As New DataTable()
dtUniqRecords = dt.DefaultView.ToTable(True, Columns)
Return dtUniqRecords
End Function
下面是我调用该方法的方式
Dim TobeDistinct As String() = {"Date", "StartTime", "RoomID", "Room"}
Dim dt As DataTable = GetDistinctRecords(initialDt, TobeDistinct)
我需要检索大约有30列的完整记录。唯一不同的列是我在TobeDistinct字符串数组中指定的列。您可以对现有数据表进行复杂查询
Private Function DistinctList(dTable As DataTable, dt As Date, time As String, _
RoomId As Integer, room As String) As List(Of DataRow)
Dim query = (From dr As DataRow In dTable.Rows Where
Date.Parse(dr("date").ToString) = dt And
dr("StartTime").ToString = time And
Convert.ToInt32(dr("RoomId").ToString) = RoomId And
dr("Room").ToString = room).ToList
Return query
End Function
即使在数据库中也不可能做到这一点。如果两行的Date/StartTime/RoomID/Room相同,但所有其他列都不同,会发生什么情况?谢谢您的帮助。很好的建议。