我有一个列表,它将从sql数据库中选择所有字段并将其存储在列表中
我有另一个列表,其中包含新下载文件及其文件ID。(文件ID是唯一的)
现在我想比较这两个列表,这样只有当dataId不存在于数据库中时,新下载的值才会保存到数据库。文件ID 5在数据库中,文件ID 5在窗口再次下载service,它不会保存在数据库中,因此不会有相同文件ID的重复记录。非常感谢
从数据库检查
cmd1.Connection = con1
cmd1.CommandText = "select FileID from FileMaster"
drd1 = cmd1.ExecuteReader
If drd1.HasRows = True Then
Do While drd1.Read
Fledbobj.MessageID = drd1.Item("FileID")
List.Add(Filedbobj)
Loop
End If
将下载文件添加到列表
For i = 1 To numfile
'adding
FileRecObj = New clsFileRec
FileRecOj .From = F.From
FileRecObj.FileDate = F.Date
End If
List.Add(FileRecObj)
Next i
答案 0 :(得分:0)
您可以使用linq查询执行此操作。
创建包含所有ID的字符串列表:
IDList
创建下载文件列表:
DownloadedList
然后从linq查询中创建一个新列表,如下所示:
Dim NoDupeList = (From X in DownloadedList where Not IDList.Contains(X.FileID)).ToList()