如何在不使用主键方法的情况下检查数据表中是否存在datarow

时间:2014-09-08 13:55:50

标签: vb.net search datatable datarow

我正在使用VB .NET,我想检查数据表(表A)中的Datarow(行A)是否存在于另一个数据表(表B)中。

我曾尝试使用以下代码:

TableA.Rows.Contains(RowA)

我收到一条错误消息,说明: " MissingPrimaryKeyException未被用户代码处理。表没有主键"。

您能否建议如何在不使用主键方法的情况下搜索数据表中的数据行?

谢谢。

2 个答案:

答案 0 :(得分:2)

Dim i As Integer = (datatable.Rows.Count - 1)
Do While (i >= 0)
    If datatable.Rows(i)("Column1") = RowA("Column1") And datatable.Rows(i)("Column2") = RowA("Column2")  Then
        datatable.Rows(i).Delete
    End If
    i = i - 1
Loop

当然,您必须更改列的名称。

答案 1 :(得分:0)

检查RowA的row state,如果它是Detached,则该表不包含它。

如果没有主键,我就不知道如何让它更好地工作。